Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

funcion por defecto para cerrar un formulario?

Estas en el tema de funcion por defecto para cerrar un formulario? en el foro de Visual Basic clásico en Foros del Web. Hola a todos, Estoy haciendo un formulario MDI que al darle al boton "X" para cerrar la aplicación debe hacer un par de cosas antes ...
  #1 (permalink)  
Antiguo 16/05/2007, 01:04
 
Fecha de Ingreso: abril-2007
Mensajes: 34
Antigüedad: 17 años
Puntos: 0
funcion por defecto para cerrar un formulario?

Hola a todos,

Estoy haciendo un formulario MDI que al darle al boton "X" para cerrar la aplicación debe hacer un par de cosas antes de cerrarse por completo, como liberar recursos que está consumiendo,...etc.

Y mi duda es la siguiente:

si el "Form_Load" es la función por defecto para cargar un formulario, ¿cuál es para cerrarlo?

He probado con "Form_Terminate" pero pasa de esa función y se va por otra de otro módulo que se llama "Class_Terminate" por lo que no libera ningún recurso del sistema.

Muchas gracias por adelantado
  #2 (permalink)  
Antiguo 16/05/2007, 01:16
 
Fecha de Ingreso: noviembre-2005
Mensajes: 751
Antigüedad: 18 años, 6 meses
Puntos: 13
Re: funcion por defecto para cerrar un formulario?

Hola

Yo utilizo el evento Form_Unload.

--Saludos--
  #3 (permalink)  
Antiguo 16/05/2007, 07:55
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Re: funcion por defecto para cerrar un formulario?

leete bien esto que te saca algunas dudas:

Cuando se arranca una aplicación, o más en concreto cuando se visualiza por primera vez un formulario se producen varios eventos consecutivos: Initialize, Load, Activate y Paint. Cada uno de estos eventos se puede aprovechar para realizar ciertas operaciones por medio de la función correspondiente.

Para inicializar las variables definidas a nivel de módulo se suele utilizar el evento Initialize, que tiene lugar antes que el Load. El evento Load se activa al cargar un formulario. Con el formulario principal esto sucede al arrancar la ejecución de un programa; con el resto de los formularios al mandarlos cargar desde cualquier procedimiento o al hacer referencia a alguna propiedad o control de un formulario que no esté cargado. Al descargar un formulario se produce el evento Unload. Si se detiene el programa desde el botón Stop de Visual Basic (o del menú correspondiente) o con un End, no se pasa por el evento Unload. Para pasar por el evento Unload es necesario cerrar la ventana con el botón de cerrar o llamarlo explícitamente. El evento QueryUnload se produce antes del evento Unload y permite por ejemplo enviar un mensaje de confirmación.

QueryUnload. Se dispara por un evento Unload de formulario, antes de que se ejecute ningún código del evento Unload. QueryUnload da la oportunidad de detener la descarga del formulario de la memoria cuando sea apropiado, por ejemplo, cuando el usuario haya cambiado valores del formulario sin guardar los cambios. El formulario no será descargado si la variable Cancel está asignada como True en el procedimiento del evento QueryUnload. Es una práctica común asignar esta variable como True a continuación de una consulta del usuario a lo largo de las líneas de "¿Guardar los cambios? Sí, No, Cancelar" cuando el usuario responde cancelando. La función MsgBox puede usarse fácilmente para dar al usuario una oportunidad de cancelar una descarga.

Unload. Se dispara cuando un usuario cierra el formulario usando el comando Cerrar en el menú Control o cuando se ejecuta en código un método Unload. Unload dispara inmediatamente un evento QueryUnload como acabamos de describir. Se pude usar el evento Unload (así como QueryUnload) para realizar tareas de cierre como guardar y convalidar datos.

Terminate. Se produce cuando se eliminan de la memoria todas las referencia a una instancia de un formulario.

El evento Load de un formulario se suele utilizar para ejecutar una función que dé valor a sus propiedades y a las de los controles que dependen de dicho formulario. No se puede utilizar para dibujar o imprimir sobre el formulario, pues en el momento en que se produce este evento el formulario todavía no está disponible para dichas operaciones. Por ejemplo, si en el formulario debe aparecer la salida del método Print o de los métodos gráficos Pset, Line y Circle puede utilizarse el evento Paint u otro posterior (por ejemplo, el evento GotFocus del primer control) pero no puede utilizarse el evento Load. Se puede ocultar un formulario sin descargarlo con el método Hide o haciendo la propiedad Visible = False. Esto hace que el formulario desaparezca de la ventana, aunque sus variables y propiedades sigan estando accesibles y conservando sus valores. Para hacer visible un formulario oculto pero ya cargado se utiliza el método Show, que equivale a hacer la propiedad Visible = True, y que genera los eventos Activate y Paint. Si el formulario no había sido cargado previamente, el método Show genera los cuatro eventos mencionados.

Cuando un formulario pasa a ser la ventana activa se produce el evento Activate y al dejar de serlo el evento Deactivate. En el caso de que el formulario que va a ser activo no estuviera cargado ya, primero sucederían los eventos Initialize, Load y luego los eventos Activate y Paint.

para mostrar un mensaje de si ¿desea salir? al apretar la x del formulario se usa el evento queryunload.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 20:51.