我想捕获keydown事件,所以当我按 CTRL + W 时,它将关闭表单。 目前我的代码:
Private Sub Main_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
If e.Control AndAlso e.KeyCode = Keys.W Then
closeForm()
End If
End Sub
代码工作正常,但是当我按 CTRL + 无论 + W (示例 CTRL + SHIFT + W )它也将返回true并执行closeForm()方法。
关于如何防止 CTRL + + W 的任何想法?
答案 0 :(得分:1)
使用e.KeyData
属性:
If e.KeyData = (Keys.Control Or Keys.W) Then
这将排除 Ctrl + W 以外的所有组合。如果你想更像你已经拥有的那样,那就是:
If e.Control AndAlso Not e.Shift AndAlso Not e.Alt AndAlso e.KeyCode = Keys.W Then
正如您所看到的,在查找一个特定的组合键时,使用e.KeyData
会更加清晰。