2010-09-27 176 views
0

在使用Windows窗体进行MDI应用程序开发时,我遇到了一些问题。从MDI中打开另一个孩子的窗口在MDI中打开窗口

想象一下3种形式的小测试应用:Form1,Form2和Form3。 Form1是一个MdiContainer(带有单个botton的附加menuStrip元素 - 用于测试目的)。 Form2只包含一个按钮。通过单击Form1 menuStrip按钮打开Form2。 Form3应该通过Form2按钮单击打开。

我已经使用谷歌这个麻烦,但没有什么帮助。

我的代码如下:

Form1中

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void menu2ToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     Form2 chWin = new Form2(); 
     chWin.MdiParent = this; 
     chWin.Show(); 
    } 
} 

窗体2

public partial class Form2 : Form 
{ 
    public Form2() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     Form3 form3 = new Form3(); 
     form3.Show(); 
    } 
} 

Form3实际上有没有代码在所有。

这很明显,我不知何故宣布Form3应该是Form1的孩子,但如何? :)

在此先感谢!

回答

4

设置上form3Form.MdiParent属性:

form3.MdiParent = this.MdiParent; 
+0

在其中的代码块,我应该改变这种财产? – sturmgewehr 2010-10-01 21:03:23

+0

我想如果我添加这样的属性 - form3将是form2的父母,而不是form1,因为我需要 – sturmgewehr 2010-10-01 21:04:15

+0

上面的'这个'是Form2的实例,它的MdiParent属性指向Form1,所以这应该设置form3的MdiParent为point也构成1。 – 2010-10-01 21:36:21

2

form3.MdiParent = this.MdiParent