不幸的是沒有這樣做的好方法。你需要發射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