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

¿Cómo hago para cerrar MDIchild simultaniamente?

Estas en el tema de ¿Cómo hago para cerrar MDIchild simultaniamente? en el foro de Visual Basic clásico en Foros del Web. me gustaría saber que comando puedo usar para cerrar todos los formularios mdichild que se encuentren abierto en ese momento....
  #1 (permalink)  
Antiguo 19/08/2005, 10:46
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 8 meses
Puntos: 0
¿Cómo hago para cerrar MDIchild simultaniamente?

me gustaría saber que comando puedo usar para cerrar todos los formularios mdichild que se encuentren abierto en ese momento.
  #2 (permalink)  
Antiguo 19/08/2005, 10:48
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Unload nombreform

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #3 (permalink)  
Antiguo 19/08/2005, 10:57
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Eje!! que tal compañero GeoAvila... yo supongo que se refería a cerrar todos los forms que se encuentren abiertos, sin saber cuales son
  #4 (permalink)  
Antiguo 19/08/2005, 11:03
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 8 meses
Puntos: 0
Cita:
Iniciado por Developer9
Eje!! que tal compañero GeoAvila... yo supongo que se refería a cerrar todos los forms que se encuentren abiertos, sin saber cuales son
sí, algo asi como que al cerrar la sesión, exista un comando que cierre todos los mdichild que se encuentren abiertos, TODOS, sin excepción
  #5 (permalink)  
Antiguo 19/08/2005, 11:09
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Claro... sin importar que es lo que esté abierto
  #6 (permalink)  
Antiguo 19/08/2005, 11:11
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 8 meses
Puntos: 0
o que por lo menos, un comando que me diga como saber si un mdichild esta abierto para poder cerrarlo con un if then
  #7 (permalink)  
Antiguo 19/08/2005, 11:13
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 8 meses
Puntos: 0
Cita:
Iniciado por Developer9
Claro... sin importar que es lo que esté abierto
sí, imaginalo así...en el menu Archivo, selecciono cerrar sesión, y me cierre todas las mdichild activas en ese momento
  #8 (permalink)  
Antiguo 19/08/2005, 11:21
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
mira el unload no te da problema si no esta habierto el revisa si esta habierto y lo cierrra y si no esta abierto igual no tiene problemas y lo cierra..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #9 (permalink)  
Antiguo 19/08/2005, 11:23
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Eje!! a ya chevere... entonces hay que hacer una funcion en donde mandemos a cerrar toooooooooooodos los forms que existan en el proyecto y se cerraran los que esten abiertos... si son 100 forms serán 100 unload

Última edición por Developer9; 19/08/2005 a las 11:36
  #10 (permalink)  
Antiguo 19/08/2005, 11:32
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 8 meses
Puntos: 0
Cita:
Iniciado por GeoAvila
mira el unload no te da problema si no esta habierto el revisa si esta habierto y lo cierrra y si no esta abierto igual no tiene problemas y lo cierra..

nos vemos..
me puedes decir un comando que me indique si un form esta abierto o no?
  #11 (permalink)  
Antiguo 19/08/2005, 11:48
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
esto te funcionará si no el form esta visible o no osea no tenes que usar la opcion hide de lo contrario no te funcioanará..

If Form2.Visible = True Then
MsgBox "hola"
Else
MsgBox "noestas"
End If

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #12 (permalink)  
Antiguo 19/08/2005, 12:03
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 8 meses
Puntos: 0
Cita:
Iniciado por GeoAvila
esto te funcionará si no el form esta visible o no osea no tenes que usar la opcion hide de lo contrario no te funcioanará..

If Form2.Visible = True Then
MsgBox "hola"
Else
MsgBox "noestas"
End If

nos vemos..
no me sirve, por que abre y cierra los mdichild en ves de verificar si estan o no abiertos

Última edición por Predaaator; 19/08/2005 a las 12:10
  #13 (permalink)  
Antiguo 19/08/2005, 12:04
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 8 meses
Puntos: 0
Cita:
Iniciado por Developer9
Eje!! a ya chevere... entonces hay que hacer una funcion en donde mandemos a cerrar toooooooooooodos los forms que existan en el proyecto y se cerraran los que esten abiertos... si son 100 forms serán 100 unload
si...lamentablemente, será así...gracias
  #14 (permalink)  
Antiguo 19/08/2005, 12:12
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 8 meses
Puntos: 0
Cita:
Iniciado por Developer9
Eje!! a ya chevere... entonces hay que hacer una funcion en donde mandemos a cerrar toooooooooooodos los forms que existan en el proyecto y se cerraran los que esten abiertos... si son 100 forms serán 100 unload
me puedes decir un comando que me indique si un form se encuentra abierto o no, sin que este lo abra...es decir, si esta cerrado, que no lo abra, solamente que me indique que se encuentra cerrado
  #15 (permalink)  
Antiguo 19/08/2005, 14:14
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
sería más facil con un arreglo de forms porque así sería más facil hacerlo un ciclo for..

pero.. la verdad no se me ocurre a mi algo.. asi.. como darte un ejemplo..

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #16 (permalink)  
Antiguo 19/08/2005, 15:35
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 8 meses
Puntos: 0
Cita:
Iniciado por GeoAvila
sería más facil con un arreglo de forms porque así sería más facil hacerlo un ciclo for..

pero.. la verdad no se me ocurre a mi algo.. asi.. como darte un ejemplo..

nos vemos..
Gracias de todos modos...yo veo que invento
  #17 (permalink)  
Antiguo 19/08/2005, 15:48
 
Fecha de Ingreso: septiembre-2004
Ubicación: Pilar - Cordoba - Argentina
Mensajes: 29
Antigüedad: 19 años, 7 meses
Puntos: 0
Para cerrar muchos forms juntos hace esto amigo:

For i = 0 To Forms.Count - 1
If Forms(i).Name <> "MdiMenu" Then
Unload Forms(i)
End If
Next

Donde "MdiMenu" es el nombre del form MDI Padre
  #18 (permalink)  
Antiguo 19/08/2005, 17:42
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 8 meses
Puntos: 0
Cita:
Iniciado por Sebasedeno
Para cerrar muchos forms juntos hace esto amigo:

For i = 0 To Forms.Count - 1
If Forms(i).Name <> "MdiMenu" Then
Unload Forms(i)
End If
Next

Donde "MdiMenu" es el nombre del form MDI Padre
amigo, Muchas gracias , todo perfecto, pero.....no me funciono así, me funciono de este modo...

For i = 1 To Forms.Count - 1
If Forms(1).Name <> "Inicio" Then
Unload Forms(1)
End If
Next

a "i" le puse el valor de 1 para que no contará el MDI padre, y elimine los "i" por que no quiso funcionar así, me da un error, imagino que cuando se cierra un form(1), el form(2) pasa a ser el form(1) y así sucesivamente.......pero de todos modos, ya me funciona, pero si sabes que es lo que estoy haciendo mal, avisame, muchas gracias, me fue muy útil

Última edición por Predaaator; 19/08/2005 a las 17:49
  #19 (permalink)  
Antiguo 19/08/2005, 17:53
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 8 meses
Puntos: 0
Cita:
Iniciado por Predaaator
amigo, Muchas gracias , todo perfecto, pero.....no me funciono así, me funciono de este modo...

For i = 1 To Forms.Count - 1
If Forms(1).Name <> "Inicio" Then
Unload Forms(1)
End If
Next

a "i" le puse el valor de 1 para que no contará el MDI padre, y elimine los "i" por que no quiso funcionar así, me da un error, imagino que cuando se cierra un form(1), el form(2) pasa a ser el form(1) y así sucesivamente.......pero de todos modos, ya me funciona, pero si sabes que es lo que estoy haciendo mal, avisame, muchas gracias, me fue muy útil
mejor es de este modo...ya que si el form(0) es el MDI padre, no tiene que estar comparando con nadie...simplemente cuenta el número de Form, descarta el MDI padre, y comienza a cerrar el número de form existentes, tomando en cuenta que cada vez que el Form(1) se cierra, el que le sigue toma su lugar.

For i = 1 To Forms.Count - 1
Unload Forms(1)
Next
  #20 (permalink)  
Antiguo 19/08/2005, 17:56
 
Fecha de Ingreso: agosto-2005
Mensajes: 34
Antigüedad: 18 años, 8 meses
Puntos: 0
Gracias a todos por su ayuda y a Sebasedeno por ayudarme a llegar a la solución
  #21 (permalink)  
Antiguo 07/09/2009, 16:19
 
Fecha de Ingreso: septiembre-2009
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: ¿Cómo hago para cerrar MDIchild simultaniamente?

Hola amigos... Tenia este mismo problema y lo solucioné de la sgte forma...

Declaré un vector que me almacenara todos los Forms abiertos dentro del MDiParent
(Este vector lo declare en el formulario padre)

Dim Formularios() As Form

En el evento del Boton "Cerrar Sesión" que tengo en un menu del MdiParent:
Obtengo el listado de Forms abiertos

Formularios = Me.MdiChildren

Ahora por cada uno de los form en el arreglo, lo voy cerrando

For Each frm As Form In Formularios
frm.Close()
Next


Espero les Sirva...
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




La zona horaria es GMT -6. Ahora son las 06:26.