2012-03-10 214 views
0

我把按钮放在父窗口上去到子窗口。为了关闭子窗口我使用this.close()上的按钮单击,但我想通过点击子窗口的按钮关闭父窗口和子窗口。从子窗口关闭父窗口

回答

1

将父窗体传入子窗体并在关闭的事件处理函数中调用其c​​lose方法。

0

你可以从孩子的父窗体关闭,但似乎打破封装原则的一点。

另一种方法是从父级订阅子窗体的关闭事件,然后在父级内您可以对此进行响应 - 有关实施的信息,请参阅Winform form closed event

2

试试这个

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

子窗体关闭按钮

Me.diaglogresult=DialogResult.OK 
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(); 
    }