读书人

▲▲▲Assembly加载的窗体怎么为窗体的

发布时间: 2012-02-02 23:57:14 作者: rapoo

▲▲▲Assembly加载的窗体如何为窗体的一个公共变量赋值 ▲▲▲
Assembly assembly = Assembly.LoadFrom( "myDll.dll ");
Object obj = assembly.CreateInstance( "myForm ");
Form frm = obj as Form;
//这里我想为窗体的一个公共变量赋值,是字符型的,我怎么赋值啊
//frm.Name = "zsg ";这样肯定是错误的
frm.Show();
请大侠指点,多谢!

[解决办法]
程序集中的Form某一个值设为属性或公有变量试下!
[解决办法]
Form frm = assembly.CreateInstance( "myForm ");
//Form frm = obj as Form;
//这里我想为窗体的一个公共变量赋值,是字符型的,我怎么赋值啊
frm.Name = "zsg ";这样肯定是错误的
frm.Show();

这样呢?
[解决办法]
object frm = assembly.CreateInstance( "myForm ");
//Form frm = obj as Form;
//这里我想为窗体的一个公共变量赋值,是字符型的,我怎么赋值啊
Type type = frm.GetType();
PropertyInfo property = type.GetProperty( "Name ");//你要的变量名。这里找的是属性,如果是变量的话Property换成Field
property.SetValue(frm, "zsg ");
frm.Show();//这里也不能直接用Show(),同样要找到名字为 "Show "的方法,然后再调用它

写的比较简略,具体的你查MSDN上Type,FieldInfo,MethodInfo,PropertyInfo等等就行了,容易看明白的。

读书人网 >C#

热点推荐