首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB.NET:中止FormClosing()

VB.NET:中止FormClosing()
EN

Stack Overflow用户
提问于 2010-02-13 15:48:21
回答 2查看 41.9K关注 0票数 9

我有一个代码片段,我想在应用程序关闭时运行它。所以,我使用了FormCLosing事件。但现在我想放一条退出的确认消息。例如,如果用户单击Exit(X)按钮,将会有一个提示,如果他单击NO,则应用程序将不会关闭并恢复到以前的状态。

现在我发现使用FormClosing事件很难做到这一点。因为无论用户单击哪个按钮,它都会被执行。有什么补救措施吗?

我是说,我需要一个像ExitButtonPressed()这样的人..

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-13 15:51:09

你可以尝试像这样的东西

代码语言:javascript
复制
Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
    If (MessageBox.Show("Close?", "", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.No) Then
        e.Cancel = True
    End If
End Sub

看一看

FormClosingEventArgs Class

CancelEventArgs.Cancel Property

通过将Cancel属性设置为

,可以取消该事件。

票数 22
EN

Stack Overflow用户

发布于 2017-11-20 02:48:12

表单的Button2和closebutton都会关闭表单,询问相同的问题

Dim button2Yes As Boolean = False私有子Button2_Click(发送者作为对象,e作为EventArgs)句柄按钮2.单击

代码语言:javascript
复制
    If MessageBox.Show("    Sure to close?   ", "CLOSING CONTROL", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
        button2Yes = True
        Me.Close()
    Else
        button2Yes = False
    End If
End Sub

Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles Me.FormClosing
    If Not button2Yes Then
        If Not MessageBox.Show("    Sure to close?   ", "CLOSING CONTROL", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
            e.Cancel = True
        End If
    End If
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2256869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档