Visual Basic - Cerrar ventana

Life is soft - evento anual de software empresarial
 
Vista:

Cerrar ventana

Publicado por Armando (6 intervenciones) el 16/10/2002 13:46:29
quisiera saber como realizar lo siguiente. Cerrar la venta de mi aplicación con la x del borde superior izquierdo de esta, y que me salga un mensaje de si quiero terminar con la aplicacion o no, y segun la respuesta pues se sale o no de la aplicacion. he probado con el evento terminate del form pero se sale siempre respondas lo que respondas.
Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cerrar ventana

Publicado por ALH (278 intervenciones) el 16/10/2002 16:03:33
Puedes utiliza la rutina de abajo. Aqui utilizo el QueryUnload, pero tengo entendido q tambien puedes utilizar el Unload, sin embargo esto me ha funcionado muy bien. te recomiendo que utilices la ayuda de Visual Basic para el Query Unload para q obtengas mas informacion y sepas como funciona perfectamente ya q si tienes varios formularios abiertos, tal vez no tengas el resultado que deseas.

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If MsgBox("Esta opción terminará la ejecución del programa. Esta seguro de salir ahora?", 4 + 32 + 256, "Salida del programa") <> 6 Then
Cancel = True
Else
End
End If
End Sub

Espero q te sea de utilidad....Saludos!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cerrar ventana

Publicado por Armando (1 intervención) el 16/10/2002 16:42:53
el problema que tengo ahora es que en que en deteminados momentos de la ejecucion del programa , esta ventana principal la cual queria cerrar con la x se descarga automaticamente para volver a cargar unos determinados datos y entonces se me lanza el evento este que me has dicho. Entonces no habria alguna forma de decirle que me lanze este evento solo cuando le doy fisicamente a la x. Gracias por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cerrar ventana

Publicado por ALH (278 intervenciones) el 16/10/2002 21:24:08
Mira, este tipo de falla lo tuve al principio, pero lo "corregi" agregando una variable global de tipo boleana.

Lo q se me ocurre en en tu caso es que podrias verificar en q momento descargaras el Form (no el usuario, si no el programa automaticmante),

Entonces, siguiendo con lo de la variable podrias decirle que si es verdadera (caso en q el usuario cerro la form) muestre el mensaje de salida, si es falsa (caso en q se descarga automaticamente) no lo muestre:

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If Salir = True Then
If MsgBox("Esta opción terminará la ejecución del programa. Esta seguro de salir ahora?", 4 + 32 + 256, "Salida del sistema") <> 6 Then
Cancel = True
Else
End
End If
Else
Unload Me
End If
End Sub

Lo q tendrias q agregar es la igualdad de la variable dentro del procedimiento donde descargas el Form automaticamente para q no mostrara el mensaje:

Sub DescargarForm () 'Supnemos q este es el proced.
Salir=False
----------
--------
End Sub

Asi cuando aplicas el procedimiento DescargarForm, le indicas q la variable Salir = False, cuando llega al evento QueryLoad, verifica el valor, pero como le indicastes que solo pusiera el mensaje de salida cuando fuese verdadero, no lo mostrara.

A lo mejor esta algo confuso, pero funciona....

Tienes q tener en cuenta q cada vez q se cierra un formulario (independientemente de donde lo cierres), pasa por el evento QueryUnload, de ahi q ponga una variable para verificar de donde viene la instruccion de sali
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cerrar ventana

Publicado por Armando (9 intervenciones) el 17/10/2002 10:13:55
Muchas gracias ahora si q me va, Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar