2014-06-12 46 views
0

我有一個開放的時候可能有除了關閉功能開一切工作很大4+子窗口顯示在MDI父窗體 - 我有一個確認窗口顯示如下關閉窗口確認,但不關閉孩子

Private Sub index_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing 
    If MessageBox.Show("Are you sure you want to exit?", "prompt", MessageBoxButtons.YesNo) = DialogResult.Yes Then 
     'allow close 
    Else 
     e.Cancel = True 
    End If 
End Sub 

這是適當的工作除了當你點擊否,而mdi父母仍然打開子窗體全部關閉。我如何防止這種情況?

圖像,以幫助:

正常運行 http://fasttrackdispatch.com/design/normalop.png

但是當你點擊x和它帶來了提示信息,看起來像這樣(通知由於某種原因,所有MDI子元素關閉 - 我沒有此代碼發生) http://fasttrackdispatch.com/design/exitmenu.png 當您單擊無MDI子不返回 http://fasttrackdispatch.com/design/exitmenuno.png

的問題是,爲什麼是MDI CH孩子閉幕,我們如何防止它?

+0

我不能理解最後一句話,它全部運行。如果他們說是,他們想要退出,您不必打電話給App Exit。它已經退出,所以只要不取消就可以。 – Plutonix

+0

編輯澄清;這是當用戶改變主意並點擊否時引用 - (是的,正確成功關閉),單擊否導致父窗口內的所有窗口關閉 –

回答

1

您可以處理子表單的FormClosing事件,如果e.CloseReasonMdiFormClosing,則可以在子表單關閉之前提示用戶確認。