2012-03-10 246 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(); 
    }