Comment puis-je déterminer quand la touche de contrôle est maintenue enfoncée pendant le clic du bouton?

Comment puis-je déterminer si la touche de commande est maintenue enfoncée pendant que vous cliquez sur un bouton dans un programme Windows C #? Je veux une action pour Ctrl / Click et une autre pour Click.

Et un peu plus:

private void button1_Click ( object sender, EventArgs e ) { if( (ModifierKeys & Keys.Control) == Keys.Control ) { ControlClickMethod(); } else { ClickMethod(); } } private void ControlClickMethod() { MessageBox.Show( "Control is pressed" ); } private void ClickMethod() { MessageBox.Show ( "Control is not pressed" ); } 

En supposant que WinForms, utilisez Control.ModifierKeys, par exemple:

 private void button1_Click(object sender, EventArgs e) { MessageBox.Show(Control.ModifierKeys.ToSsortingng()); } 

En supposant WPF, utilisez Keyboard.Modifiers, par exemple:

 private void Button_Click(object sender, RoutedEventArgs e) { MessageBox.Show(Keyboard.Modifiers.ToSsortingng()); }