在关键事件中禁用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 
+0

感谢您的答复。但我不想在表单关闭事件上使用。让我解释一下,我有一个表单和一个按钮,单击按钮时,表单应该被关闭,但不是在alt + f4上,也不在表单关闭事件中。还有一件事我想说的是窗体将通过保持按住Alt键并按下F4来关闭,这个我不需要。 – Sachin 2015-01-21 09:29:07

+0

如果单独按下ALT键和F4键,则您提到的代码将起作用。 – Sachin 2015-01-21 09:30:32