Detectar que tecla se pulsó en un control textbox con c#

En esta ocasión el post trata del código que tenemos que utilizar si queremos detectar en un textbox cuando se pulsa una tecla por ejemplo Enter, Esc, F1, etc. Esto puede ser útil para cuando necesitamos que al pulsar alguna tecla realice alguna acción como cambiar el foco a otro control o abrir o cerrar un formulario, etc.

El código lo tenemos que poner en los eventos  KeyDown, KeyPress o KeyUp.

  • KeyDown: Tiene lugar cuando se presiona una tecla por primera vez.
  • KeyPress: Tiene lugar cuando el control tiene el foco y el usuario pulsa y suelta una tecla.
  • KeyUp: Tiene lugar cuando se suelta la tecla.

Hay que tener en cuenta que el evento KeyPress solo lo provocan las teclas de caracteres( a-z, 0-9 ), Enter, Esc. Entonces si queremos detectar la pulsasion de la tecla F1, F2 o Supr con el evento KeyPress no funciona, pero ese tipo de teclas si provocan el evento KeyDown y KeyUp .

Ahora si después de explicar algunos concepto básicos pasamos al código C#,  lo primero que tenemos que hacer es agregar al control el evento KeyDown y colocamos el siguiente código:

private void txtTexto_KeyDown(object sender, KeyEventArgs e)
{
  if (e.KeyValue == (char)Keys.Enter)
  {
      //Codigo a ejecutar cuando se pulsa enter
      MessageBox.Show("enter");
  }
  else if (e.KeyValue == (char)Keys.Escape)
  {
      //Codigo a ejecutar cuando se pulsa Escape
      MessageBox.Show("Esc");
  }
  else if (e.KeyValue == (char)Keys.F1)
  {
      //Codigo a ejecutar cuando se pulsa F1
      MessageBox.Show("Tecla F1");
  }
  else if (e.KeyValue == (char)Keys.Delete)
  {
      //Codigo a ejecutar cuando se pulsa Suprimir
      MessageBox.Show("suprimir");
  }
}

Lo que hace el código anterior es evaluar el valor de la tecla que se pulso y se compara con la tecla que se va a detectar utilizando la lista de códigos de tecla que proporciona Keys.

Eso es todo espero que les sirva.

3 comentarios en “Detectar que tecla se pulsó en un control textbox con c#”

  1. Personal dice:

    Muchas gracias ! Me sirvió mucho esta información

  2. Buscador dice:

    Excelente aporte!!!!, me saco de un apuro que tenia, Muy Bien 🙂

  3. Amigo como hago para cuando una tecla se mantenga pesiona no escriba en el textboc

Deja un comentario