记得Delphi里面可以创建一个窗体,上面有各种控件和方法,这个窗体可以被动态的加载到父窗体的panel容器中,然后这个窗体也可以继承,很方便的做成很多动态显示界面,请问c#里面有这样的功能吗?我试着把窗体dock到一个panel中,但报错说窗体不能有父组建,请高手指教一下,在c#中如何来操作呢?

解决方案 »

  1.   

    panel是子类,怎么能把父类form类,加载到里面呢?你想创建这种内部包含若干控件的容器集合,最好继承UserControl,你直接创建一个新的继承自UserControl的新控件,然后直接往上面拖控件。
      

  2.   

    http://topic.csdn.net/u/20080529/15/8b9b19f1-dcc6-468c-ba89-b219002010b3.html
      

  3.   

    窗体可以放到容器控件中,前提:            this.TopLevel = false;
      

  4.   

    您 可以使用 继承
    public partial class Form2 : Form1或是 MDI 的方法
      

  5.   

    //WinForm嵌入panel
    Form2 form = new Form2();
    form.FormBorderStyle = FormBorderStyle.None;
    form.TopLevel = false;
    this.panel1.Controls.Add(form);
    form.Show();使用反射生成一个窗体的例子:
    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();