Как я могу определить, когда кнопка управления удерживается в нажатом положении во время нажатия кнопки

голоса
14

Как я могу определить, когда кнопка управления удерживается в нажатом положении во время нажатия кнопки в программе C # Windows? Я хочу одно действие, чтобы иметь место для Ctrl / Click и другой один для Click.

Задан 09/12/2008 в 19:40
источник пользователем
На других языках...                            


2 ответов

голоса
31

И немного больше:

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" );
}
Ответил 09/12/2008 в 19:58
источник пользователем

голоса
5

Предполагая, 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());
}
Ответил 09/12/2008 в 19:55
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more