Utilizar eventos de teclado

La mayoría de los programas de Windows Forms procesan la entrada de teclado controlando los eventos de teclado. Este ofrece una introducción a los eventos de teclado, incluidos detalles sobre cuándo usar cada evento y los datos que se proporcionan para cada evento. Vea también Información general sobre controladores de eventos (Windows Forms) e Información general sobre eventos (Windows Forms).

Eventos de teclado

Windows Forms proporciona dos eventos que se producen cuando el usuario presiona una tecla del teclado y un evento cuando el usuario suelta una tecla del teclado:

  • El evento KeyDown, que se produce una vez.

  • El evento KeyPress, que se puede producir varias veces cuando un usuario mantiene presionada la misma tecla.

  • El evento KeyUp se produce una vez cuando el usuario suelta una tecla.

Cuando un usuario presiona una tecla, Windows Forms determina qué evento se genera en función de si el mensaje del teclado especifica una tecla de carácter o una tecla física. Para obtener más información sobre las teclas de carácter y físicas, vea Funcionamiento de las entradas mediante teclado.

En la tabla siguiente se describen los tres eventos de teclado.

Evento de teclado Descripción Results
KeyDown Este evento se genera cuando el usuario presiona una tecla física. El controlador de KeyDown recibe:

  • Un parámetro KeyEventArgs que proporciona la propiedad KeyCode (que especifica un botón de teclado físico).
  • La propiedad Modifiers (MAYÚS, CTRL o ALT).
  • La propiedad KeyData (que combina el código de tecla y el modificador). El parámetro KeyEventArgs también proporciona:

    • La propiedad Handled, que se pueden establecer para evitar que el control subyacente reciba la tecla.
    • La propiedad SuppressKeyPress, que puede usarse para suprimir los eventos KeyPress y KeyUp para esa pulsación de tecla.
KeyPress Este evento se genera cuando las teclas presionadas dan como resultado un carácter. Por ejemplo, un usuario presiona las teclas MAYÚS y "a" minúscula, que producirá un carácter "A" mayúscula. KeyPress se genera después de KeyDown.

  • El controlador de KeyPress recibe:
  • Un parámetro KeyPressEventArgs, que contiene el código de carácter de la tecla que se presionó. Este código de carácter es único para cada combinación de una tecla de carácter y una tecla modificadora.

    Por ejemplo, la tecla "A" generará:

    • El código de carácter 65, si se presiona con la tecla MAYÚS
    • O la tecla BLOQ MAYÚS, 97 si se presiona sola
    • Y 1, si se presiona con la tecla CTRL.
KeyUp Este evento se genera cuando el usuario suelta una tecla física. El controlador de KeyUp recibe:

  • Un parámetro KeyEventArgs:

    • Que proporciona la propiedad KeyCode (que especifica un botón de teclado físico).
    • La propiedad Modifiers (MAYÚS, CTRL o ALT).
    • La propiedad KeyData (que combina el código de tecla y el modificador).

Vea también