vb.net - 如何防止表单在 btnClose_Click 中关闭
问题描述
我试图阻止用户在 vb.net 中DialogResult.No
关闭表单。True
我也试过e.cancel=true
了,但在btnClose_click
. 我提到不是FormClosingEventArgs
。我想把它放进去btnClose_Click
。
从 OP 注释复制的代码;
Private Sub btnClose_Click(sender As Object, e As EventArgs) Handles btnClose.Click
If CustomMessageBox.Show("Are You Sure?", Buttons.YesNo, Icons.Question,
AnimateStyle.ZoomIn) = Windows.Forms.DialogResult.Yes Then
If Windows.Forms.DialogResult.Yes Then
' ---Close The Form
End If
ElseIf Windows.Forms.DialogResult.No Or Windows.Forms.DialogResult.None Then
' ---Not Closing the Form
End If
End Sub
解决方案
您需要使用 FormClosing 事件(或在 NET 2.0 之前关闭)。此事件发生在关闭事件之前,可以取消。
Private Sub Form1_Closing(sender As Object, e As FormClosingEventArgs ) Handles Me.FormClosing
If CustomMessageBox.Show("Are You Sure?", Buttons.YesNo, Icons.Question,
AnimateStyle.ZoomIn) = Windows.Forms.DialogResult.Yes Then
e.Cancel = true ' <<<< close event will not occur, form stays open
End If
End Sub
推荐阅读
- java - 如何将arraylist方法用于另一种方法?
- javascript - 无法从 DOM 中的 datalist 对象访问列表属性
- azure-devops - Azure DevOps 拉取请求行颜色
- sharepoint - SharePoint 计时器作业在密码更改后停止工作
- google-apps-script - 将变量内容添加到 HTML 模板中的文本区域
- javascript - 如何在 React js 中获取开始日期和当前月份的日期?
- javascript - 在不刷新页面的情况下更改 URl NEXT.JS
- javascript - 解析充满字符串的对象时 JSON 解析出现 CORS 错误
- segmentation-fault - 链表实现中的分段错误,同时找到它的中间
- zerobrane - 在 zerobrane 的交互式解释器中,math.maxinteger 值为零