Utilizando eventos do teclado

A maioria dos programas do Windows Forms processa a entrada do teclado manipulando os eventos de teclado. Este artigo fornece uma visão geral dos eventos de teclado, incluindo detalhes sobre quando usar cada evento e os dados que cada evento fornece. Para obter mais informações sobre eventos em geral, consulte a visão geral de eventos.

Eventos de teclado

Windows Forms gera os seguintes eventos quando um usuário pressiona e libera uma tecla de teclado:

Quando um usuário pressiona uma tecla, o Windows Forms determina qual evento deve ser gerado com base em se a mensagem de teclado especifica uma tecla de caractere ou uma tecla física. Para obter mais informações sobre caracteres e teclas físicas, consulte Visão geral do teclado, eventos de teclado.

Evento KeyDown

O KeyDown evento é gerado quando um usuário pressiona uma tecla física. Se a tecla for pressionada, esse evento se repetirá na taxa de repetição do teclado do sistema operacional.

O manipulador para KeyDown recebe um KeyEventArgs parâmetro que fornece:

  • KeyCode propriedade, que especifica uma tecla física de teclado.
  • A propriedade Modifiers (Shift, Ctrl, ou Alt).
  • A KeyData propriedade, que combina o código de chave e o modificador.
  • A Handled propriedade, que impede que o controle subjacente receba a chave quando definida.
  • A propriedade SuppressKeyPress, que suprime os eventos KeyPress e KeyUp desse pressionamento de tecla.

Evento KeyPress

O KeyPress evento é gerado quando a tecla ou as teclas pressionadas resultam em um caractere. Por exemplo, pressionar Shift e a tecla "a" minúscula produz um caractere de letra maiúscula "A". KeyPress é acionada após KeyDown e repete-se na frequência de repetição do teclado do sistema operacional enquanto a tecla estiver pressionada.

O manipulador para KeyPress recebe um KeyPressEventArgs parâmetro que contém o código de caractere da tecla pressionada. Esse código de caractere é exclusivo para cada combinação de uma chave de caractere e uma chave modificadora.

Por exemplo, a chave "A" gera:

  • O código de caractere 65, quando digitado com a tecla Shift pressionada.
  • O código de caractere 65, se Caps Lock estiver ativado.
  • O código de caractere 97, se for digitado sozinho.
  • O código de caractere 1, se for digitado com a tecla Ctrl pressionada.

Evento KeyUp

O KeyUp evento é gerado uma vez quando um usuário libera uma chave física.

O manipulador para KeyUp recebe um KeyEventArgs parâmetro que fornece:

  • A propriedade KeyCode, que especifica um botão físico do teclado.
  • A propriedade Modifiers (Shift, Ctrl, ou Alt).
  • A KeyData propriedade, que combina o código de chave e o modificador.

Consulte também