日期:2014-05-18  浏览次数:20781 次

如何在MDI子窗口中打开一个窗口让这个窗口为MDI窗口
如我有三个窗口
MDIMain.cs
A.cs
B.cs

现在我的MDIMain打开了子MDI窗口 A.cs
现在A.cs里面有一个按钮

要求点击这个按钮的时候关闭A窗口以MDI子窗口的模式显示B窗口

我用代码
C# code

            Form childForm = new B();
            childForm.MdiParent = new MDIMain();
            childForm.Show();
            this.Close();


程序关了A窗口 但并没有打开B窗口

谢谢

------解决方案--------------------
childForm的主窗口没有显示出来,所以子窗口也不会显示出来!
你要先显示主窗口才行。
------解决方案--------------------
IsMdiContainer = true;
------解决方案--------------------
你的入口怎么写的?
不会是close窗口的时候吧程序整个关了吧?
------解决方案--------------------
Form childForm = new B();
childForm.MdiParent = this.MdiParent;
childForm.Show();
this.Close();

------解决方案--------------------
不知道你的代码在那个窗体上写的
如果是在A的按钮事件中那么操作如下:
先将MDIMain的IsMdiContainer属性设为true然后再显示A的事件中A a=new A();A.MdiParent=this;
最后在A的那牛事件中Form childForm = new B();
childForm.MdiParent = this.MdiParent;
childForm.Show();
this.Close(); 就可以了