如果我想在WPF应用程序中检测多个字母键(例如DI
(。我该怎么做?请注意,只有在检测到多个字母键(没有CTRL
、SHIFT
、1
、2
或3
…,只有a
、b
、c
、d
等等(时,我才会触发事件。
我试过类似的东西
if (Keyboard.IsKeyDown(Key.D) && Keyboard.IsKeyDown(Key.I))
但它根本不起作用。
我发现的解决方案主要与其中一个关键点有关,那就是修改器。所以它并不真正符合我的需求。
有一次我遇到了同样的情况,当我同时按下几个键时,我无法检测到。我缺少的一件事(你可能也是(是我没有在窗口的函数本身中声明代码。在主窗口的KeyDown()
函数中写入该代码后,它就工作了。在为窗口声明函数后,您可以尝试下面的代码,看看它是否真的适用于您。
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (Keyboard.IsKeyDown(Key.A) && Keyboard.IsKeyDown(Key.B) && Keyboard.IsKeyDown(Key.S))
{
// Whatever you would like to do
MessageBox.Show("Pressed!");
}
}