Някой знае ли защо KeyPress събитието не се уволнява, когато потребителят натисне стрелка надолу?
Отговори:
14 за отговор № 1Според документацията на събитието KeyPress (при условие че използвате WinForms):
Събитието KeyPress не е повдигнато от нехарактерни ключове; както и да е нехарактерните ключове вдигат KeyDown и KeyUp събития.
Клавишът със стрелка надолу не е „бутон за символи“, така че това събитие не трябва да бъде повдигнато за него.
1 за отговор № 2
Използвайте 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