数据库中
ID FORM 
1  Form2 frm
从数据库中取出
Form2 frm 就一个字符串而已
怎么样才能把他搞成真正Form呢Form2 frm=new Form2();
frm.show();

解决方案 »

  1.   

    其实我想做一个菜单栏啊
    点一下就show相应的窗体啊本来想这样子的switch(formname)
    {
    case "Form2":
    Form2 frm=new Form2();
    frm.show();
    break;
    }就象
    Tree()
    |---Form2()
    |---Form3()
    |
    就是点一下Treenode就可以显示相应的窗体
    感觉太麻烦了吧
      

  2.   


    Form form= (Form)Assembly.Load("程序及名称").CreateInstance("命名空间." + 窗体名);
    form.Show();
      

  3.   

    学习一下~
    buider下 在form2 include form1就可以了
    就有form1.lable.text可以用了。
    vs下,跟你一起学习一下
      

  4.   

    //strFile:程序集名(Dll或者exe,例如:Application.exe)
    //strForm:文件名包含命名空间的(Application.From1)
    //strName:窗口名称
    private void CreateForm(string strFile, string strForm, string strName)
            {
                try
                {
                    Form frmCur = null;
                    Assembly assDLL = Assembly.LoadFrom(Application.StartupPath + "\\" + strFile);
                    if (assDLL == null)
                       MessageBox.Show("找不到文件:" + strFile + "\n需要更新程序。");
                    frmCur = (Form)assDLL.CreateInstance(strForm);
                    if (frmCur == null)
                        MessageBox.Show("在文件“" + strFile + "”中找不到类:" + strForm + "\n需要更新程序。");
                    frmCur.Text = strName;
                    frmCur.Show();
                }
                catch
                {
                    MessageBox.Show("加载程序集出错,请联系开发人员!");
                }        }