请教:vs2005winform如何通过变量(存有窗体名称)打开新的窗体?
主要目的,通过点击treeview打开名称等于Node.Text的窗体。
例如:string f1=Node.Text;
Form form = new f1();//当f1="登录"时打开登录窗体
form.Show();
应该如何实现呢?
谢谢!

解决方案 »

  1.   

    语法都不通估计你要实现 打开class名字为 Node.Text的窗体Form form= Activtor.CreateInstance(Node.txt)
    拼写有可能不对 就是这样了 
      

  2.   

    string f1=Node.Text;
    Type frmType=Type.GetType(f1, false, true);
    Form form = Activator.CreateInstance(frmType);//当f1="登录"时打开登录窗体
    form.Show();
      

  3.   

    正常:
    Form form = new 登录();
    form.Show();
    目的:
    string f1=="登录";
    Form form = new f1();//希望用f1打开登录窗体,因为f1内容是不断变化的。
    form.Show();
    应该如何实现呢?
    谢谢!
      

  4.   

    请教:wzd24(牧野)(衣带渐宽终不悔,为伊消得人憔悴)
    Form form = Activator.CreateInstance(frmType);//当f1="登录"时打开登录窗体错误1无法将类型“object”隐式转换为“System.Windows.Forms.Form”。存在一个显式转换(是否缺少强制转换?)
      

  5.   

    string f1=="登录";
    Type frmType=Type.GetType(f1, false, true);
    Form form = Activator.CreateInstance(frmType);//当f1="登录"时打开登录窗体
    form.Show();
      

  6.   

    Form form = (Form)Activator.CreateInstance(frmType);
      

  7.   

    Form form = (Form)Activator.CreateInstance(frmType);************** 异常文本 **************
    System.ArgumentNullException: 值不能为空。
    参数名: type
       在 System.Activator.CreateInstance(Type type, Boolean nonPublic)
       在 System.Activator.CreateInstance(Type type)
       在 x1.Form0.treeView1_AfterSelect(Object sender, TreeViewEventArgs e)
      

  8.   

    yyy39() ( ) 信誉:100    Blog   加为好友  2007-06-26 09:50:24  得分: 0  
     
     
       Form form = (Form)Activator.CreateInstance(frmType);************** 异常文本 **************
    System.ArgumentNullException: 值不能为空。
    参数名: type
       在 System.Activator.CreateInstance(Type type, Boolean nonPublic)
       在 System.Activator.CreateInstance(Type type)
       在 x1.Form0.treeView1_AfterSelect(Object sender, TreeViewEventArgs e)
      
    -----------------------------------------------------------------------------
    这个是类型没有找到!你试试把命名空间加到类型名前面!
      

  9.   

    用反射,上面已有代码,前提是你的窗体的程序集必须有Dll文件才行
      

  10.   

    谢谢各位朋友!
    谢谢wzd24(牧野)(衣带渐宽终不悔,为伊消得人憔悴)
    谢谢!
      

  11.   

    对不起: imwjb(CSDN新规:不会结贴就不要提问)
    不好意思,给分时输错了行.