日期:2014-05-17  浏览次数:20842 次

关于打开窗体
本帖最后由 foxd 于 2013-02-22 16:30:19 编辑
Form2 aa = new Form2();
//aa.FormBorderStyle = FormBorderStyle.None;
aa.TopLevel = false;
this.panel1.Controls.Add(aa);
aa.Show();

以上代码将Form2窗体嵌入到panel1中并显示,若事先把窗体名称放入一个字符变量中,该如何打开显示呢?比如:
string frmName = "Form2";
怎样写代码打开这个窗体呢?谢谢!

------解决方案--------------------
使用反射
http://www.360doc.com/content/11/0727/21/3705007_136214695.shtml
http://www.xue5.com/itedu/200802/104297.html
------解决方案--------------------
利用反射动态创建窗体,下面的WindowsFormsApplication2是窗体的命名空间,你换成你实际的命名空间
          
 Type typeForm = Type.GetType("WindowsFormsApplication2." + frmName);
            Form aa= Activator.CreateInstance(typeForm) as Form ;
            aa.TopLevel = false;
            this.panel1.Controls.Add(aa);
            aa.Show();

------解决方案--------------------
楼上正解,反射!