利用反射动态创建窗体,下面的WindowsFormsApplication2是窗体的命名空间,你换成你实际的命名空间 Type typeForm = Type.GetType("WindowsFormsApplication2." + frmName); Form aa= Activator.CreateInstance(typeForm) as Form ; aa.TopLevel = false; this.panel1.Controls.Add(aa); aa.Show();
Form2 fm3 = new Form2(); fm3.Text = "No text"; fm3.TopLevel = false; panel1.Controls.Clear(); panel1.Controls.Add(fm3); fm3.Show();
http://www.360doc.com/content/11/0727/21/3705007_136214695.shtml
http://www.xue5.com/itedu/200802/104297.html
Type typeForm = Type.GetType("WindowsFormsApplication2." + frmName);
Form aa= Activator.CreateInstance(typeForm) as Form ;
aa.TopLevel = false;
this.panel1.Controls.Add(aa);
aa.Show();
fm3.Text = "No text";
fm3.TopLevel = false;
panel1.Controls.Clear();
panel1.Controls.Add(fm3);
fm3.Show();
侯捷的《深入浅出MFC》就介绍了MFC如何让不支持反射的C++语言拥有RTTI能力的机制。