2013-03-28 25 views
0

我有以下几种形式:main_menu(mdicontainer),form1和form2。我能够在MAIN_MENU 1跳转打开由从另一个mdichild打开mdichild

form1 newMDIChild = new form1(); 

newMDIChild.MdiParent = this; 

newMDIChild.Show(); 

为mdichild当我试图通过

form2 newMDIChild = new form2(); 

newMDIChild.MdiParent = this.MdiParent; 

newMDIChild.Show; 

this.close(); 

它仍然打开窗口2为非子窗体打开窗口2从Form1中MAIN_MENU的mdichild。到目前为止我没有找到任何解决方案。有任何想法吗?提前致谢。

+0

请仔细阅读[常见问题]和[提问] –

+0

你是如何推断出'它仍然打开窗口2为非儿童形式? –

+0

我不是在与VS安装一台机器,所以我不能对此进行测试,但我敢肯定,你可以在形式传递到'.Show(myForm的);' http://msdn.microsoft.com /en-us/library/szcefbbd.aspx – Sayse

回答

0

在您的文章,你暗示这两种形式都是相同的父的孩子。如果是这种情况,form1的父项被设置为正确的父项,但form2的父项将被设置为其父项的父项。实际上,它使form2成为产生它的对象的一个​​兄弟,而不是一个孩子。

尝试产卵时改变

newMDIChild.MdiParent = this.MdiParent; 

newMDIChild.MdiParent = this; 

形式2.

+0

我不能使用'newMDIChild.MdiParent =这一点;'形式1,因为Form1中不MdiContainer – user2039470

+0

你在你的代码,否则表示。 – Nat

相关问题