2010-09-27 183 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

相關問題