设定用一个字符串指定一个窗体,如:一个窗体文件Form1,字符串为“Form1”,如何在使用时用“Form1”这个串来指定Form1窗体类似于((Form)"Form1").Show(),提示会有:无法将类型String转换为“System.Windows.Forms.Form”

解决方案 »

  1.   

    参看
    http://www.syncfusion.com/faq/windowsforms/search/729.aspx
      

  2.   

    http://www.syncfusion.com/faq/windowsforms/search/709.aspx
      

  3.   

    Form frm = (Form)Activator.CreateInstance(Type.GetType("项目名.类名"));
    frm.show();
      

  4.   

    使用反射实现,
    使用反射生成一个窗体:
    private void button1_Click(object sender, System.EventArgs e)
    {
    Assembly assm = Assembly.LoadFrom("e:\\WindowsApplication.dll");
    Type TypeToLoad= assm.GetType("WindowsApplication.Form1");

    object obj;
    obj = Activator.CreateInstance(TypeToLoad);
    Form formToShow = null;
    formToShow = (Form)obj;
    formToShow.Show();

    }