Como posso determinar quando a chave de controle é pressionado durante clique de botão

votos
14

Como posso determinar quando a chave de controle é pressionado durante clique de botão em um programa do Windows C #? Eu quero uma ação para ter lugar para Ctrl / Clique e um diferente para Click.

Publicado 09/12/2008 em 19:40
fonte usuário
Em outras línguas...                            


2 respostas

votos
31

E um pouco mais:

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" );
}
Respondeu 09/12/2008 em 19:58
fonte usuário

votos
5

Assumindo WinForms, uso Control.ModifierKeys, por exemplo:

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

Assumindo WPF, Keyboard.Modifiers uso, por exemplo:

private void Button_Click(object sender, RoutedEventArgs e) {
    MessageBox.Show(Keyboard.Modifiers.ToString());
}
Respondeu 09/12/2008 em 19:55
fonte usuário

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