| Você está aqui: C# ::: Dicas & Truques ::: Mouse e Teclado | 
| Verificando o estado das teclas modificadoras (Ctrl, Alt e Shift) em um evento do mouseQuantidade de visualizações: 10108 vezes | 
| Em algumas situações gostaríamos de saber o estado das teclas modificadoras (Ctrl, Alt e Shift) em um evento do mouse. O problema é que, nos eventos do mouse, o tratador do evento recebe objetos das classes EventArgs e MouseEventArgs e estas classes não possuem nenhuma informação que nos permita saber se estas teclas estão ou não pressionadas. A solução é usar o método ModifierKeys() da classe Control. Este método retorna um objeto da enumeração Keys, o que possibilita testar se as teclas Ctrl, Alt e Shift estão acionadas. Veja um exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
private void Form1_Click(object sender, EventArgs e){
  MessageBox.Show(Control.ModifierKeys.ToString());
}
Ao clicar no formulário uma mensagem será exibida com um dos seguintes conteúdos: a) None = Nenhuma tecla modificadora está pressionada. b) Shift = A tecla Shift está pressionada. c) Alt = A tecla Alt está pressionada. d) Control = A tecla Ctrl está pressionada. d) Shift, Control, Alt = As três teclas modificadoras estão acionadas. Se quisermos testar uma tecla específica, por exemplo, Shift, podemos usar um código parecido com: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
private void Form1_Click(object sender, EventArgs e){
  // vamos verificar se a tecla Shift está pressionada
  if((Control.ModifierKeys & Keys.Shift) == Keys.Shift){
    MessageBox.Show("A tecla Shift está pressionada");
  }
  else{
    MessageBox.Show("A tecla Shift NÃO está pressionada");
  }
}
Veja agora como testar as teclas Ctrl e Alt ao mesmo tempo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
private void Form1_Click(object sender, EventArgs e){
  // vamos verificar se as teclas Ctrl e Alt estao pressionadas
  if(((Control.ModifierKeys & Keys.Control) == Keys.Control) &&
    ((Control.ModifierKeys & Keys.Alt) == Keys.Alt)){
    
    MessageBox.Show("As teclas Ctrl e Alt estão pressionadas");
  }
  else{
    MessageBox.Show("As teclas Ctrl e Alt NÃO estão pressionadas");
  }
}
 | 
|  Link para compartilhar na Internet ou com seus amigos: | 
| Desafios, Exercícios e Algoritmos Resolvidos de C# | 
| Veja mais Dicas e truques de C# | 
| Dicas e truques de outras linguagens | 
| E-Books em PDF | ||||
| 
 | ||||
| 
 | ||||
| Linguagens Mais Populares | ||||
| 
			   1º lugar: Java | 


 
 




