我正在使用WPF和vb.net。 我想捕捉一下#'#'键。 我使用的是德语键盘。但我不会使用不同的语言设置。
Private Sub textbox_KeyDown(sender As Object, e As KeyEventArgs) Handles texbox.KeyDown
If e.Key.ToString() = "#" Then
'do stuff
End If
End Sub
e.Key.ToString()返回" OemQuestion"
Chr(e.key)返回"'"
ChrW(e.key)返回ChrW(145)
'#'的ASCII代码是35岁。
我会这样做吗?
答案 0 :(得分:0)
对于英文键盘(不确定德国键盘是否相同,抱歉),因为按Shift + 3输入'#',你需要在检查时将e.Key参数与Key枚举进行比较对于修饰符(它是C#,但应该很容易转换为VB):
if(e.Key == Key.D3 && Keyboard.IsKeyDown(Key.LeftShift))
{
}
D3用于对应于数字3的键,您还可以检查是否按下了左或右shift键。 e.Key.ToString()不返回按下的键的字符串值。