0

我有一个 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 儿童关闭,我们如何防止它?

4

1 回答 1

1

您可以处理FormClosing子表单的事件,如果e.CloseReasonMdiFormClosing,您可以在子表单关闭之前提示用户确认。

于 2014-06-12T02:26:00.220 回答