vb.net WPF将密钥转换为字符

时间:2016-02-04 23:56:47

标签: wpf vb.net character-encoding keycode

我正在使用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岁。

我会这样做吗?

1 个答案:

答案 0 :(得分:0)

对于英文键盘(不确定德国键盘是否相同,抱歉),因为按Shift + 3输入'#',你需要在检查时将e.Key参数与Key枚举进行比较对于修饰符(它是C#,但应该很容易转换为VB):

if(e.Key == Key.D3 && Keyboard.IsKeyDown(Key.LeftShift))
{

}

D3用于对应于数字3的键,您还可以检查是否按下了左或右shift键。 e.Key.ToString()不返回按下的键的字符串值。