【发布时间】:2014-06-12 00:10:19
【问题描述】:
我有一个 mdi 父窗体,打开时可能有 4 个以上的子窗口打开,除了关闭功能外,一切都运行良好 - 我有一个确认窗口显示如下
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 当您单击 no 时,mdi 子项不会返回 http://fasttrackdispatch.com/design/exitmenuno.png
问题是为什么 mdi 孩子会关闭,我们如何防止它?
【问题讨论】:
-
最后一句我不太明白,都在运行。如果他们说是,他们想退出,你不必调用 App Exit。它已经退出了,所以不要取消就让它退出。
-
编辑澄清;这是当用户改变主意并单击“否”时的引用 - (是成功正确关闭),单击“否”会导致父级内的所有窗口关闭
标签: vb.net winforms formclosing