Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown
使用e.keyValue检查DELETE键需要什么keyValue?
答案 0 :(得分:9)
KeyEventArgs对象包含一个名为“KeyCode”的成员,您可以将其与“Keys”枚举进行比较。
请注意,如果某些键由默认窗口系统处理,则它们可能不会引发KeyDown事件。我不确定,我现在无法检查它,但你可能无法获得Tab,Delete,Enter等键的KeyDown事件。
你通常可以这样做(这是C#,而不是VB,但应该是类似的):
public void MyControl_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Delete)
{
// delete was pressed
}
}
答案 1 :(得分:3)
如果您设置了表单的 KeyPreview 属性,那么表单将在事件传递给具有焦点的控件之前接收键事件。例如,如果表单上有文本框和按钮,通常它们(具有焦点的控件)将捕获按键事件。因此,请务必设置KeyPreview=true
使用它来捕获密钥代码。
Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Delete Then
'todo
End If
End Sub
答案 2 :(得分:2)
检查Keys
枚举...
答案 3 :(得分:2)
将e.keyValue
与Keys.Delete