C#中可以这样加载窗体吗?
假如一个程序集中有一个名称为"Form1"的窗体,请问如何仅据窗体名称加载此窗体?
类似于VB 6中的下列代码的功能;
dim strFormName as string
dim f as Form;
strFormName="Form1"
set f=Forms.Add(strFormName)
f.Show()
问题点数:50、回复次数:6Top
1 楼vniper(爱国不爱党!)回复于 2005-06-13 15:04:35 得分 25
Assembly dll = Assembly.Load("DllName");
object obj = dll.CreateInstance("ClassName");
这个obj就是了。
Top
2 楼BillTuan()回复于 2005-06-13 15:10:43 得分 0
如何创建类似于vb6中的Forms的集合类才是此问题的关键!
有高手可以解答吗?
Top
3 楼BillTuan()回复于 2005-06-13 15:14:43 得分 0
Assembly dll = Assembly.Load("DllName");
==========
DllName是什么?Top
4 楼BillTuan()回复于 2005-06-13 15:22:23 得分 0
高手说一下思路就行,不用写两行代码让俺摸不着头脑呀!
Top
5 楼stonegoldaustin(特醇中南海)回复于 2005-06-13 15:33:32 得分 25
Form obj = (Form)Assembly.GetExecutingAssembly().CreateInstance("ThreadDemo.Form3", false);
//从当前实例中取得反射集合
//CreateInstance(string Typename, bool ignoreCase) 通过类型名称返回object
obj.ShowDialog();
不过楼主说的Forms的集合倒是没辙Top
6 楼BillTuan()回复于 2005-06-13 15:43:15 得分 0
搞定!
谢谢楼上两位!
Top




