gpt4 book ai didi

vb.net - 如何阻止 WinForm 的 ALT+F4 但允许所有其他形式关闭 WinForm?

转载 作者:行者123 更新时间:2023-12-02 06:47:30 25 4
gpt4 key购买 nike

我在互联网和该资源的各个部分搜索了提出这个问题的地方,并注意到我得到了以下代码:

Protected Overrides ReadOnly Property CreateParams() As CreateParams
Get
Dim cp As CreateParams = MyBase.CreateParams
Const CS_NOCLOSE As Integer = &H200
cp.ClassStyle = cp.ClassStyle Or CS_NOCLOSE
Return cp
End Get
End Property

按预期工作,这会禁用 ALT+F4 的使用。但是,此代码有一个意想不到的副作用:通过控制框关闭窗口被禁用:

Closing "X" is disabled

此代码是否有一个版本 disables ALT+F4但仍然允许通过其控制框或其他 UI 选项(例如关闭按钮和菜单中的关闭选项)关闭窗口。

我知道有人会说检查 e.CloseReason of the form ,但是 UserClosing 是类似于我想做的事情的唯一原因,但是......仍然会禁用 UI 的使用。除非有一个代码我忘记了。

最佳答案

设置 KeyPreview = True 并处理 KeyDown 事件:

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.Alt AndAlso e.KeyCode = Keys.F4 Then
e.Handled = True
End If
End Sub

关于vb.net - 如何阻止 WinForm 的 ALT+F4 但允许所有其他形式关闭 WinForm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45499338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com