Buscador

Enlace estático de eventos - I

Este es el modo mas sencillo para implementar la conexión entre un evento y un procedimiento manipulador de evento.
 En primer lugar, declaramos una variable del tipo de objeto cuyos eventos queremos capturar, en la zona de declaraciones del módulo, clase, etc., utilizando la palabra clave WithEvents. Veamos el Código fuente 332.

Module Module1
Private WithEvents moEmple As Empleado
'......
'......
Código fuente 332

A continuación, tenemos que escribir el procedimiento manipulador, que será invocado cada vez que se produzca el evento. Dicho procedimiento debe ser de tipo Sub, ya que un evento no puede devolver valores, por lo que no podremos utilizar un Function. También debemos finalizar su declaración con la palabra clave Handles, seguida del nombre de la variable del objeto que hemos declarado en la zona de declaraciones, y el nombre del evento que el procedimiento va a tratar. En el Código fuente 333, el procedimiento moEmple_LimiteSueldo( ), será llamado cada vez que se produzca el evento LimiteSueldo en el objeto Empleado.

Public Sub moEmple_LimiteSueldo(ByVal ldbImporte As Double) _
Handles moEmple.LimiteSueldo
Console.WriteLine("Se ha sobrepasado para {0} el límite" & _
" establecido de sueldo", _
moEmple.Nombre)
Console.WriteLine("El importe {0} no es válido", ldbImporte)
Console.ReadLine()
End Sub
Código fuente 333

El nombre utilizado para el procedimiento puede ser cualquiera, aunque en este caso hemos empleado la convención NombreObjeto_NombreEvento simplemente para facilitar la lectura del código, pero podríamos haber empleado, por ejemplo, el que se muestra en el Código fuente 334.

Public Sub Sobrepasado(ByVal ldbImporte As Double) _
Handles moEmple.LimiteSueldo
' ....
' ....
End Sub
Código fuente 334

No hay comentarios:

Publicar un comentario