如何在WPF中获取在PreviewKeyDown事件中输入的密钥

时间:2013-08-29 15:17:27

标签: wpf

如何使用PreviewKeyDownEvent获取Key。是的,KeyEventArgs返回按下的键。但我面临的问题是,我无法区分小写和小写字符

我需要检查一下这个人是否按了A或A或其他任何区别于案件的字符

由于

3 个答案:

答案 0 :(得分:6)

PreviewKeyDown事件中,没有直接的方法来使用KeyEventArgs中给出的内容输入字符的大小写。您可以尝试使用PreviewTextInput事件,该事件会在TexCompositionEventArgs Text属性中输入实际字符。

答案 1 :(得分:1)

答案 2 :(得分:0)

基本上,您将KeyEventArgs.Key的值与您想要的任何键进行比较:

private void PreviewKeyDownHandler(object sender, KeyEventArgs e)
{
    if (e.Key == Key.A) DoSomething();
}

如果您想知道是否按下了大写字母,您需要检查是否还按了SHIFT键:

private void PreviewKeyDownHandler(object sender, KeyEventArgs e)
{
    if (e.Key == Key.A && Keyboard.Modifiers == ModifierKeys.Shift) DoSomething();
}

更新>>>

如果您需要检测是否也按下了Caps Lock按钮,您可以检查以下情况:

if (Keyboard.GetKeyStates(Key.CapsLock) == KeyStates.Toggled) 
{
    if (e.Key == Key.A) DoSomething();
}