Как определить, когда удерживается клавиша управления во время нажатия кнопки
Как определить, когда удерживается клавиша управления во время нажатия кнопки в программе С# Windows? Я хочу, чтобы одно действие выполнялось для Ctrl/Click и другого для Click.
Ответы
Ответ 1
И немного больше:
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" );
}
Ответ 2
Предполагая WinForms, используйте Control.ModifierKeys, например:
private void button1_Click(object sender, EventArgs e) {
MessageBox.Show(Control.ModifierKeys.ToString());
}
Предполагая WPF, используйте Keyboard.Modifiers, например:
private void Button_Click(object sender, RoutedEventArgs e) {
MessageBox.Show(Keyboard.Modifiers.ToString());
}