Down Arrows不会触发KeyPress事件

时间:2009-01-30 19:54:10

标签: .net winforms

当用户按下向下箭头时,是否有人知道为什么KeyPress事件不会被触发?我必须在KeyDown事件中查找它。这只是我做错了吗?

2 个答案:

答案 0 :(得分:14)

根据KeyPress事件的文档(假设您使用的是WinForms):

  

KeyPress事件不会被引发   非字符键;然而   非字符键确实引发了KeyDown   和KeyUp事件。

向下箭头键不是字符键,因此不应为此事件引发此事件。

答案 1 :(得分:1)

使用KeyDown

Public Class Form1
    Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
        Debug.WriteLine(e.KeyData.ToString + " KeyDown")
    End Sub

    Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
        Debug.WriteLine(e.KeyChar.ToString + " KeyPress")
    End Sub
End Class