首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

反射有关问题

2012-01-23 
反射问题我知道一个字符串变量frmForm2 ,请问怎样通过frm变量把Form2的窗体打开,谢谢![解决办法]Activa

反射问题
我知道一个字符串变量frm   =   "Form2 ",请问怎样通过frm变量把Form2的窗体打开,谢谢!

[解决办法]
Activator.CreateInstance
[解决办法]
private void button1_Click(object sender, EventArgs e)
{
string frm = "Form2 ";
for (int i = 0; i < Application.OpenForms.Count; i++)
{
if (Application.OpenForms[i].Name == frm)
{
return;
}
}
System.Reflection.Assembly ass = System.Reflection.Assembly.GetExecutingAssembly();
//object obj=thisDll.CreateInstance( "Form2 ");
Type typForm = ass.GetType( "testDLL. "+frm );
if( typForm == null ) return;
Form frmTest = typForm.InvokeMember( null,BindingFlags.DeclaredOnly |BindingFlags.Public | BindingFlags.NonPublic |BindingFlags.Instance | BindingFlags.CreateInstance,null,null,null ) as Form;

if( frmTest == null ) return;
else
{
frmTest.Name=frm;
frmTest.Show();
}


}

热点排行