NOTICIAS CIPSA INFORMÁTICA, MARKETING DIGITAL, PROGRAMACIÓN, VIDEOJUEGOS, OFFICE, DISEÑO, 3D, ETC
05
diciembre
2019

En este blog os voy a comentar un truco que os resultará muy interesante a los programadores de Visual Basic y Visual C#. Va relacionado con el tema de eventos. Supondré que ya tenéis una base en programación y que sabéis programar eventos.

¿Qué es un evento?

Un evento es un mensaje enviado por un objeto dentro de un programa al bucle principal del mismo, informándole que algo ha sucedido.

Si estás trabajando en cualquier tipo de aplicación de formularios, verás que todo se basa en eventos. Cuando ejecutas un programa, el aplicativo no hace nada. Espera que el usuario interactúe para que realice algo. Efecto acción – reacción.

Así, si clicas en el botón Maximizar, la ventana ocupará todo el espacio libre del escritorio, si restauras volverá al tamaño anterior,… pero sucede porque alguien ha programado estos eventos.

Muchos de estos eventos ya vienen programados por el mismo Net Framework. Así, la ventana se mueve, cuando la arrastras, clicando en la barra de título, o cambia de tamaño cuando clicamos en algún borde de la ventana.

Pero si colocas un botón en un formulario y clicas encima, observarás que no sucede nada. Aquí es donde debemos programar qué hemos de hacer ante los diferentes eventos.

Programar un evento

Los tipos de eventos que puede generar un objeto varían, pero muchos tipos son comunes a la mayoría de los controles. Por ejemplo, la mayoría de los objetos controlarán un evento Click. Si un usuario hace click en un botón de un formulario, se ejecuta el código del controlador del evento Click del formulario.
Para probarlo realizaremos una sencilla aplicación de tipo WPF (ya os comenté en un anterior blog en qué consistía este tipo de aplicación). Será una simple calculadora, que sumará, restará, multiplicará y dividirá:

01-img-conectar-varios-eventos-programacion

Vamos a generar un controlador de evento (método) para cada evento. Así para el evento sumar y el evento restar, el código correspondiente sería:

02-img-conectar-varios-eventos-programacion

Fijaros que debes definir un controlador para cada evento. Nos faltaría añadir el controlador para cuando clicamos en el botón Multiplicar o Dividir.

Si más adelante quieres ampliar la funcionalidad de la calculadora el código iría creciendo.

Programar un único controlador de eventos para varios procedimientos

En el ejemplo anterior me puede resultar interesante usar un único controlador de eventos para varios eventos.

03-img-conectar-varios-eventos-programacion
Fijaros que hemos modificado el código para que los eventos btnSumar.click, btnRestar.click, btnMultiplicar.click y btnDividir.click vayan al mismo controlador. No debemos definir cuatro controladores.

Dentro del controlador comprobamos de donde viene el evento, ¿es el botón Sumar?, ¿o el de restar? Para esto convertimos el sender genérico (contiene el control que provoca el evento) a tipo Button. A través de la propiedad Name, comprobamos el nombre del botón que lo provoca. Podríamos utilizar cualquiera de las propiedades de button, como text, tabindex.

If (CType(sender, Button).Name = “btnSumar”) Then

Si quisieras realizar cualquier modificación en la función, como controlar que los textos del textbox no estén vacíos, no deberías modificarlo en cada controlador, sino en un único controlador.
Como puedes comprobar es una técnica que te permitirá optimizar mucho el código.

Visita nuestros Cursos de Programación si deseas aumentar tus conocimientos.

Author

Jordi Llort

Profesor de Máster en Programación .NET . Máster de Gestión digital de Empresas, Máster de Videojuegos y SAP. Formador en CIPSA, con más de 30 años de experiencia.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Recibe de primero nuestras ofertas de empleo y noticias