我的应用程序是在带有3.5框架的VB.net中。我想在进行一些处理时禁用应用程序主窗体上的关闭按钮(“[X]”)。
我通过覆盖表单的“ReadOnly Property CreateParams()”来实现禁用。这样工作正常,因为表单上的控件按钮和右键单击任务栏中的关闭选项都将它们显示为已禁用。
这满足了我在Windows XP上的需求但不在Windows 7上。在Windows 7中,右键单击TaskBar中的应用程序图标会显示一个不同的菜单...其中有一个新的“关闭窗口” “ 选项。
在原始菜单中关闭仍然显示为已禁用(此旧菜单已隐藏,但可以通过按住Shift键并右键单击TaskBar中的应用程序图标来显示)。现在我需要禁用这个“关闭窗口”选项......并且仅适用于我的应用程序。
是否有以编程方式执行此操作的方法?
答案 0 :(得分:1)
使用:
Private Sub MyForm_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
e.Cancel = True
End Sub
编辑:
是的,您应该检查e.CloseReason
属性。发件人的类型是您可以键入的另一个参数,用于决定是否取消关闭请求。