miércoles, 6 de agosto de 2008

Eventos de las formas

Eventos de las Formas

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:

  1. Initialize
  2. Load
  3. Activate
  4. GotFocus
  5. LostFocus
  6. Deactivate
  7. QueryUnload
  8. Unload
  9. Terminate

Initialize

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.

Load

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.

Activate

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.

GotFocus

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.

LostFocus

El evento LostFocus sólo es disparado si no hay controles en la forma que sean capaces de perder el foco.

Deactivate

El evento Deactivate ocurre cuando la forma pierde el foco.

Si se agrega código al evento LostFocus, el evento Deactivate no es disparado.

QueryUnload

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.

Unload

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.

Terminate

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: