【问题标题】:How to intercept an Exit event for a Windows Form in VB?如何在 VB 中拦截 Windows 窗体的退出事件?
【发布时间】:2010-04-07 20:52:44
【问题描述】:

当用户点击表单命令栏上的红色小“x”,也就是表单关闭按钮时,除了 FormClosed() 之外什至会被激活

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

【问题讨论】:

    标签: vb.net forms visual-studio-2008 events


    【解决方案1】:

    在 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
    

    【讨论】:

    • 我的回答几乎是逐字逐句;我不会发布我的答案,并且会向你承认 FGITW。
    • 哦,谢谢!我想它会是这样简单的事情。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    相关资源
    最近更新 更多