lunes, 16 de agosto de 2010

Controlar eventos de teclado en C#

En ocasiones, cuando creamos aplicaciones para Windows Forms con C# tenemos la necesidad de capturar los gestos del teclado del usuario para ejecutar determinada acción, ejemplo de eso es cuando para enviar la información de un formulario o iniciar sesión en algún programa presionamos la tecla Enter o cuando presionamos teclas como Ctrl+W en el navegador para cerrar una pestaña.

..

--
En el programa que vamos a hacer, vamos a programar un TextBox que indique las teclas que se han presionado o la combinación de teclas que se está utilizando, después de esto el desarrollo para un método específico debe ser muy sencillo.

Lo primero que haremos, será crear un proyecto de Windows Forms con dos TextBox, uno en el que crearemos la lógica para determinar la tecla o teclas presionadas y otro que muestre la información correspondiente a la acción de usuario.


El primer campo se llamará eventoTxt y el siguiente se llamará informacionTxt. Después de agregar los controles al formulario, debemos ir al método constructor del formulario, para agregar el delegado encargado de las acciones del teclado (sí no sabes qué es un delegado, deberías revisar este articulo, que habla sobre los listeners en ActionScript que son muy parecidos).

En el método constructor se agrega el nuevo delegado por medio de la expresión += y dentro de los paréntesis se debe poner el nombre la función que se va a invocar cuando se produzca el evento KeyDown. En el método validarTeclas, se pueden ver 2 variables que pone por defecto en Visual Studio, para acceder a la información de la tecla presionada debemos ver los atributos del párametro e que contiene toda la información.



Y eso es todo, espero sus comentarios, y los archivos quedan disponibles para trabajarlos con el Framework 4.0.


--

2 comentarios:

  1. Está muy bacano profe... en mi empresa estamos empezando a implementar el patrón MVVM en WPF-C#, entonces estoy aprendiendo algo parecido a esto pero con comandos... también sería un buen post: "Manejo de Commands en WPF" =D

    ResponderEliminar
  2. mmmm no he podido empezar a trabajar con WPF pero material que se pueda colgar en el blog, como tutoriales, links a otras páginas o archivos de ejemplo serían muy buenos para empezar a publicar contenido sobre WPF en el blog.

    ResponderEliminar