Las formas soportan un número de eventos que son disparados varias veces durante su vida y la vida de la aplicación.
Estos eventos son ejecutados en un orden especifico, es necesario entender este orden cuando se decide donde colocar las inicializaciones de los controles, almacenar los cambios o cerrar las conexiones a una base de datos, este orden es:
Initialize
Load
Activate
GotFocus
LostFocus
Deactivate
QueryUnload
Unload
Terminate
El evento Initialize
ocurre cuando una aplicación crea una instancia de una forma antes de que la forma sea cargada o desplegada. Este evento sólo ocurre la primer vez que la forma es cargada, a menos de que la forma se establezca con el valor Nothing
.
El código contenido en el evento Form_Initialized
es por consecuencia el código que se ejecuta cuando una forma es creada.
El evento Load
se dispara cada vez que la forma es cargada, esto sucede cuando el método Load
o Show
son usados o un control es referenciado sobre una forma que aún no ha sido cargada.
El evento Activate
ocurre cuando la forma recibe el foco, por ejemplo cuando un usuario cambia de una forma a otra en un ambiente modeless, el evento Activate
es disparado.
Una forma recibe un evento GotFocus
sólo si no hay controles sobre la forma capaces de recibir el foco.
Si se agrega código al evento Activate
, el evento GotFocus
no es disparado.
El evento LostFocus
sólo es disparado si no hay controles en la forma que sean capaces de perder el foco.
El evento Deactivate
ocurre cuando la forma pierde el foco.
Si se agrega código al evento LostFocus
, el evento Deactivate
no es disparado.
El evento QueryUnload
se dispara cuando la forma recibe un comando de descarga. El evento QueryUnload
puede dispararse antes del envento Unload
, si el evento QueryUnload
cancela la solicitud de descarga el evento Unload
no es disparado.
Si se utiliza la instrucción End
para terminar el programa o clic al botón Terminar ( ), el evento QueryUnload
no se produce dentro del entorno de desarrollo.
El evento Unload
se dispara cada vez que una forma es descargada de la memoria, esto ocurre cuando una aplicación termina utilizando la sentencia End
o la forma es explicitamente descargada con el método Unloas
.
La única forma de liberar toda la memoria y todos los recursos es descargando la forma y entonces se establece todas sus referencias con el valor Nothing
, la forma recibe el evento Terminate
justo antes que sea destruida (estableciendo el valor Nothing
) o la aplicación termina. Si la sentencia End
es utilizada, el evento Terminate
no es disparado.
0 comentarios:
Publicar un comentario