从MDI中的另一个子窗口打开子窗口

时间:2010-09-27 20:07:14

标签: c# winforms mdi

在使用Windows窗体进行MDI应用程序开发期间,我遇到了一些问题。

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

我已经使用Google解决了这个问题,但没有任何帮助。

我的代码如下:

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的孩子,但是如何? :)

提前致谢!

2 个答案:

答案 0 :(得分:4)

form3上设置Form.MdiParent属性:

form3.MdiParent = this.MdiParent;

答案 1 :(得分:2)

form3.MdiParent = this.MdiParent