如何在VB中拦截Windows窗体的Exit事件?

Doo*_*101 2 vb.net forms events visual-studio-2008

当用户点击表格命令栏上的小红色"x"(即表格关闭按钮)时,除了FormClosed()之外还会激活什么

我知道FormClosing()被调用,但是我的代码运行后我无法阻止表单关闭.我希望能够显示一个消息框,询问用户是否要退出表单.显然,如果他们点击否,我希望表格保持开放,我该怎么做?

小智 5

在FormClosing事件中,您可以设置FormClosingEventArg的Cancel属性以取消该事件.

    Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

        Dim result As DialogResult = MessageBox.Show("Close Form?", "Yeehaw!", MessageBoxButtons.YesNo)
        If result = Windows.Forms.DialogResult.No Then
            e.Cancel = True
        End If

    End Sub
Run Code Online (Sandbox Code Playgroud)