如何使用PreviewKeyDownEvent获取Key。是的,KeyEventArgs返回按下的键。但我面临的问题是,我无法区分小写和小写字符
我需要检查一下这个人是否按了A或A或其他任何区别于案件的字符
由于
答案 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();
}