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

Cerrar todos los form de una vez

Estas en el tema de Cerrar todos los form de una vez en el foro de Visual Basic clásico en Foros del Web. Hola. Estoy haciendo un programa en el que un form1 abre otro form2 mediante un commandbutton. Al pulsar este botón se abre el form2 y ...
  #1 (permalink)  
Antiguo 14/08/2008, 11:49
 
Fecha de Ingreso: julio-2008
Mensajes: 36
Antigüedad: 15 años, 9 meses
Puntos: 0
Cerrar todos los form de una vez

Hola. Estoy haciendo un programa en el que un form1 abre otro form2 mediante un commandbutton. Al pulsar este botón se abre el form2 y el form1 deja de ser visible (form1.visible=false). El problema que tengo es que cuando quiero cerrar el programa pulsando la X de arriba a la derecha se cierra solo el form2, y el form1 no, por lo que aunque el programa no se vea, en el ordenador sigue estando activo.
¿Cómo puedo hacer para que al pulsar la X del form2 se cierren los dos form?
Gracias.

PD: con X de arriba a la derecha o X me refiero a:

  #2 (permalink)  
Antiguo 14/08/2008, 11:51
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Cerrar todos los form de una vez

En el evento Unload de la segunda ventana coloca:
Código:
End
O también, si solo tienes la otra ventana
Código:
Unload Form1
Una pregunta: ¿Por qué ocultas la ventana si no la vas a usar después? ¿No es mejor descargarla?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 14/08/2008, 12:48
Avatar de Kakashi-kun  
Fecha de Ingreso: agosto-2008
Mensajes: 13
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Cerrar todos los form de una vez

Pues yo te aconsejo que al cargar la form2 cierres la form1:

Código PHP:
Private Sub Command1_Click()
     
Unload Me
     Load form2
     form2
.Visible True
End Sub 

Y despues cuando cierres la otra pongas:

Código PHP:
Private Sub Command1_Click()
     
Unload Me
     Load form1
     form1
.Visible True
End Sub 

O si quieres que al cerrar la form2 se cierre todo:

Código PHP:
Private Sub Form_Unload(Cancel As Integer)
    
Unload form2
End Sub 


Espero que te sirva
  #4 (permalink)  
Antiguo 15/08/2008, 09:37
 
Fecha de Ingreso: julio-2008
Mensajes: 36
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Cerrar todos los form de una vez

Gracias a los dos por responder. He utilizado el código de Kakashi-kun y funciona bien.
Gracias.
  #5 (permalink)  
Antiguo 15/08/2008, 10:07
 
Fecha de Ingreso: julio-2008
Mensajes: 36
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Cerrar todos los form de una vez

Ahora tengo otro problema. Necesito que el form1 quede abierto cuando le doy al botón para que abra el form2, pero si pongo otro botón en el form2 para que vuelva al form1 y que el form2 se cierre, con este código, se cierran los dos form.
Necesito que al darle a la X se cierren los dos form, pero si le doy al botón del form2 que se cierre solo el form2 y abra el form1.
Ayuda por favor.
Gracias.
  #6 (permalink)  
Antiguo 15/08/2008, 10:09
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Cerrar todos los form de una vez

En el código del botón puedes poner:
Código PHP:
Form1.Show
Unload Me 
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 15/08/2008, 10:25
Avatar de Kakashi-kun  
Fecha de Ingreso: agosto-2008
Mensajes: 13
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Cerrar todos los form de una vez

Pues te pondre una lista con lo que puedes hacer:

Abrir Form2 y Form1 se queda abierta:
En Form1:
Código PHP:
Private Sub Command1_Click()
Load Form2
Form2
.Visible True
End Sub 

Al Darle a un Command del Form2, se cierra la Form2, pero se abre la Form1:
En el Form2:
Código PHP:
Private Sub Command1_Click()
Unloadme
Load Form1
Form1
.Visible True
End Sub 

Al pulsar X de la Form2, la Form2 se cierra, pero la Form1 se abre:
En Form2:
Código PHP:
Private Sub Form_Unload(Cancel As Integer)
Load Form1
Form1
.Visible True
End Sub 

Espero que te sirva, si no avisa y te pondre mas

Saludo
  #8 (permalink)  
Antiguo 15/08/2008, 10:51
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Cerrar todos los form de una vez

Pues me parece que a este tema se le está dando demasiado rollo, yo pongo otra opción:

En el Form1
Código:
Private Sub Command1_Click()
Form2.Show
End Sub

En el Form2
Código:
Private Sub Command1_Click()
Me.Hide
Form1.Show
End Sub

Private Sub Form_Unload(Cancel As Integer)
End
End Sub

  #9 (permalink)  
Antiguo 15/08/2008, 10:53
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Cerrar todos los form de una vez

El código de Avellaneda es el mejor para estos casos. Aunque yo colocaría Unload Me en vez de Me.Hide para no ocupar memoria desnecesariamente.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #10 (permalink)  
Antiguo 15/08/2008, 11:11
 
Fecha de Ingreso: julio-2008
Mensajes: 36
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Cerrar todos los form de una vez

Con el código de Avellaneda sí funciona, pero con el de Kakashi-kun no, ya que cuando pulso la X del form2 no se cierra el form1, solo se cierra el form2.
De todas maneras gracias a todos, como digo, con el de Avellaneda funciona.
Gracias.
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




La zona horaria es GMT -6. Ahora son las 07:35.