在关键事件中禁用Alt + F4功能
问题描述:
如何防止在keydown事件中通过alt + f4键关闭窗体?我面临的问题是保持按住Alt键并按F4关闭窗体,但我想阻止窗体关闭。下面是我的代码在关键事件中禁用Alt + F4功能
Private Sub frminstituteselect_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.Alt = True And e.KeyCode = Keys.F4 Then
e.Handled = True
End If
End Sub
答
尝试这样
Private ALT_F4 As Boolean = False
Private Sub frminstituteselect_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Form1.FormClosing
If ALT_F4 Then
e.Cancel = True
Return
End If
End Sub
Private Sub frminstituteselect_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles Form1.KeyDown
ALT_F4 = (e.KeyCode.Equals(Keys.F4) AndAlso e.Alt = True)
End Sub
或者干脆
Private Sub frminstituteselect_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Form1.FormClosing
e.Cancel = True
End Sub
感谢您的答复。但我不想在表单关闭事件上使用。让我解释一下,我有一个表单和一个按钮,单击按钮时,表单应该被关闭,但不是在alt + f4上,也不在表单关闭事件中。还有一件事我想说的是窗体将通过保持按住Alt键并按下F4来关闭,这个我不需要。 – Sachin 2015-01-21 09:29:07
如果单独按下ALT键和F4键,则您提到的代码将起作用。 – Sachin 2015-01-21 09:30:32