El método Show
permite desplegar un objeto Form
, si la forma no está cargada, el método Show
podría cargarla automáticamente.
Sintaxis:
object.Show style, ownerform
Donde el parámetro style
es un valor entero que determina si la forma será mostrada como modal
o modeless
.
FormName.Show vbModal
Forma Modal, requiere que el usuario tome alguna acción antes de pasar el foco a otra forma dentro de una aplicación. Una forma modal no permite interactuar con otras formas en la aplicación hasta que la formal modal ha sido descargada.
FormName.Show vbModeless
Forma Modeless, no requiere de una respuesta del usuario antes de pasar el foco a otra forma dentro de la aplicación.
El parámetro ownerform
especifica cual es el componente propietario de la forma.
El método Load
permite cargar en memoria un objeto sin hacerlo visible.
Cualquier referencia a una forma automáticamente si la forma no está cargada se carga en memoria y es posible alterar sus propiedades y controles aún si la forma no está visible.
Este evento se ejecuta sólo una vez dentro del ciclo de vida de un formulario.
Sintaxis:
Load objectName
Ejemplo
Load FormName
El evento load ocurre cuando la forma es cargada en memoria a través del empleo de la sentencia Load
o del método Show
.
Es común utilizar el evento load para inicializar la forma.
Ejemplo:
Private Sub Form_Load()
MsgBox "Ocurrio el evento Load"
End Sub
El método Hide
causa que la forma se haga invisible o se oculte, pero la forma permanece en memoria.
Sintaxis:
object.Hide
Elemplo:
nombreForma.Hide
Si la forma que se quiere ocultar no está cargada cuando se invoca el método Hide
, el método Hide
carga la forma pero no la hace visible.
La sentencia Unload
remueve la forma de la pantalla y libera la memoria, si se carga de nuevo la forma se establecen sus propiedades a sus valores originales.
- Descarga una forma o control de la memoria
- Libera el componente de despliegue de la forma en la memoria
- Limpia la forma y las propiedades de control a sus valores originales, si el programa o el usuario realizo cambios a la forma, estos cambios se pierden
- Invoca el evento
UnLoad
- Termina la ejecución de la aplicación, si la forma descargada es la única forma de la aplicación.
Sintaxis:
UnLoad object
Elemplo:
UnLoad nombreForma
Es posible utilizar la palabra reservada Me
para hacer referencia a la forma actual, ejemplo:
UnLoad Me 'Descarga la forma actual de la memoria
Una aplicación no termina hasta que todas sus formas son descargadas de memoria, la sentencia End
remueve todas las formas de la memoria y termina la aplicación.
El evento UnLoad
puede ser empleado para verificar que la forma se ha descargado o para especificar ciertas acciones cuando la forma sea descargada, este evento ocurre cuando:
- La forma es descargada usando la sentencia
UnLoad
- La forma es cerrada por el usuario dando clic al comando Close del menú de la aplicación o dando clic al botón Close de la barra de título de la aplicación.
Private Sub Form_Unload(Cancel As Integer)
MsgBox "Ocurrio el evento UnLoad"
End Sub
El evento UnLoad
no ocurre si la forma es removida de la memoria por la sentencia End
.
Si una forma será empleada varias veces, se recomienda utilizar Hide
y Show
que es más rápido que Load
y UnLoad
.
La sentencia End
termina la ejecución de la aplicación de manera inmediata, descarga todas las formas de la memoria sin importar el estado en el que se encuentren y establece todas las variables de objeto del programa a Nothing
.
Para asegurarse de que todas las formas sean descargadas, se recomienda utilizar la sentencia End
en el evento Unload
de la forma principal y escribir las acciones necesarias para limpiar el código
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
Si se utiliza la instrucción End
Visual Basic no ejecuta los eventos QueryUnload
, Unload
o Terminate
de ningún formulario.
El siguiente código escrito en el evento Unload
del formulario principal descarga todos los formularios contenidos en la aplicación.
Private Sub Form_Unload(Cancel As Integer)
Dim i As Integer
For i = Forms.Count - 1 To 0 Step -1
Unload Forms(i)
Next
End Sub
0 comentarios:
Publicar un comentario