Você está aqui: C# ::: Dicas & Truques ::: Mouse e Teclado |
Aprenda a tratar eventos do teclado em suas aplicações C#Quantidade de visualizações: 15280 vezes |
Eventos do teclado podem ser capturados e tratados em uma aplicação C# Windows Forms por qualquer controle que herde de System.Windows.Forms.Control. Há três eventos do teclado: KeyPress, KeyUp e KeyDown. O evento KeyPress ocorre quando pressionamos uma tecla. O evento KeyUp ocorre quando uma tecla é liberada. O evento KeyDown também ocorre quando pressionamos uma tecla mas, antes do evento KeyPress. Todos os eventos do teclado possuem objetos das classes KeyEventArgs ou KeyPressEventArgs. Estes objetos possibilitam ao tratador de evento obter mais informações sobre o código ASCII da tecla pressionada, o estado das teclas modificadoras (Alt, Ctrl e Shift), etc. Veja um trecho de código no qual usamos o evento KeyPress de um formulário para exibir na barra de títulos o caractere da tecla e seu código ASCII (para alcançar este efeito, basta clicar no formulário e pressionar uma tecla): ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Doe R$ 5,00 e ajude-nos a manter o site no ar :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- private void Form1_KeyPress(object sender, KeyPressEventArgs e){ // altere a propriedade KeyPreview do formulário para true // vamos obter o caractere pressionado char letra = e.KeyChar; // vamos obter o código ASCII da tecla int codigo = (int)letra; // vamos exibir o resultado na barra de títulos this.Text = "Caractere: " + letra + " - Código ASCII: " + codigo; } Veja agora como podemos testar se a tecla Shift está pressionada durante um evento KeyDown (lembre-se: não é possível obter o estado de uma tecla modificadora (Alt, Shift ou Ctrl) em um evento KeyPress): ---------------------------------------------------------------------- Precisa de ajuda? Chama no WhatsApp +55 (62) 98553-6711 (Osmar) Este código foi útil? Doe R$ 5,00 e ajude-nos a manter o site no ar :-( PIX: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- private void Form1_KeyDown(object sender, KeyEventArgs e){ // altere a propriedade KeyPreview do formulário para true if(e.Shift){ this.Text = "A tecla Shift está pressionada"; } else{ this.Text = "A tecla Shift NÃO está pressionada"; } } Experimente executar este código e pressionar um tecla. Uma mensagem na barra de títulos do formulário o avisará se a tecla Shift está ou não pressionada. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
Delphi - Como retornar a quantidade de itens em uma TListBox do Delphi usando a propriedade Items.Count |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |