我有一个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 当您单击否时,mdi子项不会返回 http://fasttrackdispatch.com/design/exitmenuno.png
问题是为什么mdi孩子会关闭,我们怎么能阻止它呢?
答案 0 :(得分:1)
您可以处理子表单的FormClosing
事件,如果e.CloseReason
是MdiFormClosing
,您可以提示用户在子表单之前进行确认已关闭。