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: 10027 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: 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: 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: 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"); } } |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
VB.NET - Como retornar o tamanho de uma string em VB.NET usando a propriedade Length da classe String |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |