从子窗口关闭父窗口

时间:2012-03-10 16:47:08

标签: c# winforms

我把按钮放在父窗口上去儿童窗口。关闭子窗口我在按钮单击时使用this.close(),但我想通过子窗口的单击按钮关闭父窗口和子窗口。

4 个答案:

答案 0 :(得分:2)

试试这个

If Child.ShowDialog = DialogResult.OK Then
          Parent.close
        End If

儿童表单关闭按钮

Me.diaglogresult=DialogResult.OK

答案 1 :(得分:1)

将父表单传递给子表单,并在已关闭的事件处理程序中调用其c​​lose方法。

答案 2 :(得分:0)

您可以从孩子那里关闭父表格,但对我来说似乎打破了封装原则。

另一种方法是从父级订阅子表单的已关闭事件,然后在父级中对此进行响应 - 请参阅Winform form closed event以获取实现。

答案 3 :(得分:0)

    private void btnOpenForm_Click(object sender, EventArgs e)
    {
        Form2 frm2 = new Form2();
        frm2.FormClosed += new FormClosedEventHandler(frm2_FormClosed);
        frm2.Show();
        this.Hide();
    }


    private void frm2_FormClosed(object sender, FormClosedEventArgs e)
    {
        this.Close();
    }