Está en la página 1de 2

6.

4 Control de eventos
Los eventos son controlados mediante los métodos, esto es, un método puede
hacer o no hacer nada cuando se genera un evento, de esta forma se controla la
acción de un evento.
Un evento es una señal que comunica a una aplicación que ha sucedido algo
importante. Por ejemplo, cuando un usuario hace clic en un control en un
formulario, el formulario puede provocar un evento Click y llamar a un
procedimiento que controla el evento. Los eventos también permiten que las
tareas independientes se comuniquen.
Conceptos y términos de eventos:
 Declarar eventos: Puede declarar eventos dentro de clases, estructuras,
módulos e interfaces con la palabra clave Event, como en el ejemplo siguiente:

Event AnEvent(ByVal EventNumber As Integer)

 Provocar eventos: Un evento es como un mensaje que anuncia que ha


sucedido algo importante. La acción de difundir el mensaje se denomina
generar el evento. En Visual Basic, se generan eventos con la RaiseEvent
instrucción, como en el ejemplo siguiente:

RaiseEvent AnEvent(EventNumber)

Los eventos deben generarse dentro del ámbito de la clase, del módulo o de la
estructura donde se declaran. Por ejemplo, una clase derivada no puede
generar eventos heredados de una clase base.
 Remitentes de eventos: Cualquier objeto capaz de generar un evento es un
remitente del evento, lo que también se conoce como origen del evento. Los
formularios, controles y objetos definidos por el usuario son ejemplos de
remitentes de eventos.
 Controladores de eventos: Los controladores de eventos son procedimientos
que se invocan cuando se produce un evento correspondiente. Puede utilizar
cualquier subrutina válida con una firma coincidente como un controlador de
eventos. Sin embargo, no se puede utilizar una función como un controlador de
eventos, porque no devolverá un valor al origen del evento.
 Visual Basic usa una Convención de nomenclatura estándar para los
controladores de eventos que combina el nombre del remitente del evento, un
carácter de subrayado y el nombre del evento. Por ejemplo, el evento Click de
un botón con nombre button1 se denominaría Sub button1_Click.
Para controlar eventos cuando tienen lugar, se usa el formulario y una clase, como
ejemplo se usa la clase widget:
La WithEvents palabra clave especifica que la variable mWidget se utiliza para
controlar los eventos de un objeto. Se debe especificar el tipo de objeto
proporcionando el nombre de la clase a partir de la cual se creará el objeto.
La variable mWidget se declara en Form1 porque WithEvents las variables deben
ser de nivel de clase. Esto es así independientemente del tipo de clase en la que
se colocan.
La variable mblnCancel se utiliza para cancelar el LongTask método.
Private WithEvents mWidget As Widget
Private mblnCancel As Boolean

En cuanto se declare una variable mediante WithEvents, el nombre de la variable


aparecerá en la lista desplegable de la izquierda del Editor de código de la clase.
Al seleccionar mWidget, los Widget eventos de la clase aparecen en la lista
desplegable derecha. Al seleccionar un evento se muestra el procedimiento de
evento correspondiente, con el prefijo mWidget y un carácter de subrayado. Todos
los procedimientos de eventos asociados a una WithEvents variable reciben el
nombre de la variable como prefijo.
Para controlar eventos de una clase base:
Se debe declarar un controlador de eventos en la clase derivada; para ello, se
agrega una instrucción Handles MyBase.eventname a la línea de declaración del
procedimiento del controlador de eventos, donde eventname es el nombre del
evento de la clase base que se va a controlar. Por ejemplo:
Public Class BaseClass
Public Event BaseEvent(ByVal i As Integer)
' Place methods and properties here.
End Class

Public Class DerivedClass


Inherits BaseClass
Sub EventHandler(ByVal x As Integer) Handles MyBase.BaseEvent
' Place code to handle events from BaseClass here.
End Sub
End Class

También podría gustarte