web-dev-qa-db-ja.com

WPF MouseLeftButtonDownイベントハンドラーのCtrlキーを押した状態

特定のキーボードキーの条件をWPF MouseLeftButtonDownイベントハンドラーに追加するにはどうすればよいですか?

例えば Ctrl +キー

private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{         
    ...
}
35
rem
private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) {
    if(Keyboard.IsKeyDown(Key.LeftCtrl) || Keyboard.IsKeyDown(Key.RightCtrl)) {
        MessageBox.Show("Control key is down");
    } else {
        MessageBox.Show("Control key is up");
    }
}
62

修飾子のみを検出する場合は、次のものも使用できます。

if (Keyboard.Modifiers == ModifierKeys.Control) {}
if (Keyboard.Modifiers == ModifierKeys.Shift) {}

その他 ここ

43
742

.NET 4.0では、次のものを使用できます。

Keyboard.Modifiers.HasFlag(ModifierKeys.Control)
11