【问题标题】:vb.net WPF convert key to charactervb.net WPF 将键转换为字符
【发布时间】:2016-02-04 23:56:47
【问题描述】:

我正在使用带有 vb.net 的 WPF。 我想捕获“#”键的按键事件。 我正在使用德语键盘。但我不会使用不同的语言设置。

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。

那我会这样做吗?

【问题讨论】:

    标签: wpf vb.net character-encoding keycode


    【解决方案1】:

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

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

    D3 是对应数字 3 的键,也可以查看是按下了左移键还是右移键。 e.Key.ToString() 不返回被按下的键的字符串值。

    【讨论】:

    • 在德语键盘上,我不需要为“#”换档。所以这个解决方案行不通。所以很明显我不能使用键码,因为它因语言设置而异。
    猜你喜欢
    • 2011-09-06
    • 1970-01-01
    • 2011-06-18
    • 1970-01-01
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多