Definición de eventos en Visual Basic

Por mark keller
Definición de eventos en Visual Basic
Programming Code Source Background Texture Illustration Design image by Bob Davies from Fotolia.com

En Microsoft Visual Basic, un evento es un mensaje enviado por un objeto dentro de un programa al bucle principal del mismo, informándole que algo ha sucedido. Ese "algo" puede variar ampliamente, desde un reloj corriendo a un clic del ratón en la parte del usuario. El programa puede capturar este evento y utilizar la información dentro de este para tomar decisiones sobre otras operaciones.

Ejemplos

Visual Basic viene precargado con una gran cantidad de eventos pre-codificados, pero los usuarios también pueden escribir por su propia cuenta. Estos eventos abarcan casi todos los aspectos de la operación del programa y la interacción. Algunos eventos relacionados con la interacción entre el cursor del ratón y un control en un formulario (por ejemplo un botón) incluyen MouseClick, MouseDoubleClick, MouseEnter, MouseLeave, MouseWheel, MouseMove y MouseHover. Los eventos por lo general reciben nombres muy intuitivos para hacer la lectura del código de Visual Basic más fácil.

Disparo

Los eventos pueden ser desencadenados por un amplio número de situaciones. Muchos son el resultado de la interacción del usuario, tales como el movimiento del ratón o la entrada del teclado. El sistema operativo Windows también envía eventos, notificando al programa cuándo se minimiza o cuándo otra ventana se superpone a este. Los objetos pueden desencadenar sus propios eventos, cuando una variable ha llegado a un cierto valor, por ejemplo. Por último, los eventos pueden ser puestos en marcha específicamente programándolos para hacer algo, por medio de lo que se llama "raising" (elevación).

Declaración

Los nuevos eventos se crean mediante un comando de declaración. El código para esto generalmente se ve algo como lo siguiente:

Public Event OptionChanged(ByVal Name As String, ByVal Number As Integer)

Este evento ejemplo tendría que ser manualmente programado para ser elevado al cambiar una opción, y enviaría dos valores al programa: el nombre de la opción cambiada y el valor al que se establece.

Elevación de eventos

Elevar un evento es el acto de provocar que suceda. Esto puede hacerse con una sola línea de código colocada en tu programa, tal como:

RaiseEvent OptionChanged("Length", 28)

Esta notificará al programa en el que tendrá lugar el evento, y enviará la información contenida en un procedimiento del controlador, si es que existe.

Operarios informáticos

Un controlador es un procedimiento que el programa llama cuando un evento específico se lleva a cabo. El controlador puede reaccionar a la información, procesándola o enviando información al usuario. En primer lugar el evento y su operario informático deben estar asociados a mano, de manera que el programa sepa que uno debería llamar al otro. Por ejemplo, para agregar un controlador al evento OptionChanged algo parecido a esto es necesario:

AddHandler Obj.OptionChanged, AddressOf Me.OptionChangedHandler

Después del cual el operario informático puede ser agregado. Un controlador para OptionChanged podría ser el siguiente:

Sub OptionChangedHandler(ByVal Name As String, ByVal Number As Integer) MsgBox("The value for " & Name.ToString & "has been changed!) End Sub