在VC和Delphi中都可以做到在一个窗口的Panel控件上显示另外一个窗口,在C#中如何实现这个功能啊,好像C#中的窗口是顶级控件不能放到其它控件上,难道要我把不同窗口的内容都放到不同的panel上,然后在需要的时候显示不同的Panel吗?好像不应该这样吧.

解决方案 »

  1.   

    Panel只能放在继承ContainerControl类的控件上吧
      

  2.   

    private void Form1_Load(object sender, System.EventArgs e)
    {
    frmPanel frmP=new frmPanel();
    frmP.TopLevel=false;
    frmP.Parent=this.panel1;
    frmP.Show();
    }
      

  3.   

    谢谢x369(水晶烟斗)
    Form.TopLevel 属性请参见
    Form 类 | Form 成员 | System.Windows.Forms 命名空间 | TopMost | Form 成员
    获取或设置一个值,该值指示是否将窗体显示为顶级窗口。
    属性值
    如果为 true,则将窗体显示为顶级窗口;否则,为 false。默认为 true。
    备注
    顶级窗体是没有父窗体的窗口,或者其父窗体是桌面窗口。顶级窗口通常用作应用程序中的主窗体。