不幸的是没有这样做的好方法。你需要发射2个事件。其中每个键,like so:
private bool KeyADown = false;
private bool KeyBDown = false;
private void LayoutRoot_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.A)
{
KeyADown = true;
}
else if (e.Key == Key.B)
{
KeyBDown = true;
}
// check for Ctrl+A+B
if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control)
{
if (KeyADown && KeyBDown)
{
MessageBox.Show("Ctrl+A+B detected");
}
}
}
private void LayoutRoot_KeyUp(object sender, KeyEventArgs e)
{
if (e.Key == Key.A)
{
KeyADown = false;
}
else if (e.Key == Key.B)
{
KeyBDown = false;
}
}
我相信楼主只是想检测CTRL +组合键,而不是一个完整的密钥和弦,所以我的解决办法应该就够了。否则这种方法很好。 – Palantir