Vb.net 检查是否按了删除键?

Vb.net 检查是否按了删除键?,vb.net,winforms,visual-studio,Vb.net,Winforms,Visual Studio,使用e.keyValue检查DELETE键需要什么keyValue?检查枚举…将e.keyValue与键进行比较。删除对象包含名为“”的成员,您可以将其与“”枚举进行比较 请注意,如果某些键由默认窗口系统处理,则它们可能不会引发KeyDown事件。我不确定,现在也无法检查,但您可能无法获得Tab、Delete、Enter等键的KeyDown事件 您通常可以这样做(这是C#,不是VB,但应该类似): 如果设置窗体的KeyPreview属性,则窗体将在事件传递给具有焦点的控件之前接收键事件。例如,如

使用e.keyValue检查DELETE键需要什么keyValue?

检查枚举…

e.keyValue
键进行比较。删除

对象包含名为“”的成员,您可以将其与“”枚举进行比较

请注意,如果某些键由默认窗口系统处理,则它们可能不会引发KeyDown事件。我不确定,现在也无法检查,但您可能无法获得Tab、Delete、Enter等键的KeyDown事件

您通常可以这样做(这是C#,不是VB,但应该类似):


如果设置窗体的KeyPreview属性,则窗体将在事件传递给具有焦点的控件之前接收键事件。例如,如果表单上有文本框和按钮,通常它们(具有焦点的控件)将捕获按键事件。因此,请确保设置
KeyPreview=true

使用此选项捕获密钥代码

public void MyControl_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Delete)
    {
        // delete was pressed
    }
}
public void MyControl_KeyDown(object sender, KeyEventArgs e)
{
    if (e.KeyCode == Keys.Delete)
    {
        // delete was pressed
    }
}
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