我现在做的是winform项目
在项目里建了一个主窗体和多个子窗体
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
}//在【Test】下还建了多个窗体:Form2、Form3//在主窗体通过点击一个菜单时,需要实例一个窗体,现在知道这个窗体名称(Form1、Form2、Form3)string strForm = "Form1";//如何通过 strForm 达到这样的效果:Form1 frm = new Form1();
frm.Show();
在项目里建了一个主窗体和多个子窗体
namespace Test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}
}//在【Test】下还建了多个窗体:Form2、Form3//在主窗体通过点击一个菜单时,需要实例一个窗体,现在知道这个窗体名称(Form1、Form2、Form3)string strForm = "Form1";//如何通过 strForm 达到这样的效果:Form1 frm = new Form1();
frm.Show();
Type t = Type.GetType(str);
Assembly ass = Assembly.GetAssembly(t);
Form form=ass.CreateInstance(str) as Form;
form.Show();
--------------------------------------
一楼的加上命名空间也可以
火眼金睛啊,确实漏了,然后如果是同一个assembly采用Type.GetType,如果不在一个assembly则需要先得到对应 assembly然后assembly.GetAssembly.可以考虑MEF