检测WPF中的多个纯字母键



如果我想在WPF应用程序中检测多个字母键(例如DI(。我该怎么做?请注意,只有在检测到多个字母键(没有CTRLSHIFT123…,只有abcd等等(时,我才会触发事件。

我试过类似的东西

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!");
}
}

最新更新