Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ctrl key press condition in WPF MouseLeftButtonDown event-handler

How I can add an additional condition for a certain keyboard key, to a WPF MouseLeftButtonDown event-handler?

For example Ctrl + key

private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{         
    ...
}
like image 517
rem Avatar asked Dec 07 '09 16:12

rem


3 Answers

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");
    }
}
like image 96
Stanislav Kniazev Avatar answered Oct 03 '22 03:10

Stanislav Kniazev


If you want to detect modifiers only, you can also use:

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

etc. More here.

like image 25
742 Avatar answered Oct 03 '22 05:10

742


In .NET 4.0 you could use:

Keyboard.Modifiers.HasFlag(ModifierKeys.Control)
like image 14
Grzegorz Godlewski Avatar answered Oct 03 '22 04:10

Grzegorz Godlewski