c# winform 中能否实现在一个窗体中嵌入另一个窗体?
谢谢

解决方案 »

  1.   

    是同一工程下一的窗体?
    如果是那么通过MDI子窗体可以实现, google 一下,到处都有
    如果不是同一工程中的,那么就需要windowsAPI了,到codeproject找WindowTabifier,
      

  2.   

    可以的。
    以前有人有这样的问题,当时记得好像是通过父窗体的Controls属性来加的。
    Form f1=new Form();
    Form f2=new Form();
    f1.Controls.Add(f2);
    大概代码是这样,你自己试试。
      

  3.   

    http://www.codeproject.com/KB/cs/mdiformstutorial.aspx
      

  4.   

    可以.使用panel即可实现这种效果.
      

  5.   

    上面其实应该使用panel来实现,通过设置parentxxx即可以.
      

  6.   

    建议LZ将要嵌入的窗体做成userControl,
    在父窗体上拖入一个panel(命名为pnlMain),//在父窗体上加载一个界面
    userControl1 ucObj = new userControl1();
    pnlMain.Controls.Add(ucObj);
    ucObj.Dock = DockStyle.Fill;
    ucObj.BringToFront();
    ucObj.Show();
      

  7.   

    panel p = new xxx();
    p.contrals.add(你的窗体)
      

  8.   

    Form F1 = new Form();
                Form F2 = new Form();
                    
                            F2.TopLevel = false;
                F2.Parent = F1;
                F2.Show();
                F1.Show();
      

  9.   

    在需要嵌入窗体的界面加一个panel然后
    panel.Controls.add(你要嵌入的界面)
    就OK了
      

  10.   

    我个人认为,panel 可以实现嵌入一个窗体的功能,我们一直也是这样的用的
    MDI 的方法没用过 csdn上有这样的文章首先在C#里添加一个窗体,命名为MdiMain,将其IsMdiContainer设定成true,这样MDI主窗体就建立了。然后再添加新窗体,命名为MdiChild。现在运行程序,会发现只运行了MdiMain这个主窗体。呵呵因为我们没有写任何代码,第二个窗体当然不能出现了。现在来添加这个代码。在MdiMain窗体上添加一个Menu,然后随便写个子菜单。双击子菜单,会出现它的Click事件,在这个事件内写如下代码:MdiChild frmMdiChild=new MdiChild();
    frmMdiChild.MdiParent=this;
    frmMdiChild.Show();这样在单击菜单项的时候就能显示MdiChild这个窗体了。但是这样会出现一个问题,就是说如果我按两次那个菜单项就会出现两个MdiChild窗体,呵呵,这是因为在C#中窗体就是一个Class,用刚才的代码就新建了一个MdiChild的实例。所以你按几次菜单项就会出现几个窗体了。控制的方法之一就是写一个变量,来存放是否打开了这个窗体,如果打开了就不继续执行了。这个小代码还是很简单的。如果想通过程序关闭MdiChild窗体,只需在MdiChild里添加一个Button,在Button的Click事件里写上Close();就可以了。
      

  11.   

    Form form1=new Form();
    Form form2=new Form{ToLevel=false};
    from1.Controls.Add(form1);
    这样既可以啦!
      

  12.   

    Form form1=new Form();
    Form form2=new Form{TopLevel=false};
    from1.Controls.Add(form1);
    这样既可以啦,上面少了一个p,呵呵!