C sharp - Urgente: Forms Abiertos

   
Vista:

Urgente: Forms Abiertos

Publicado por ElPelikano (13 intervenciones) el 06/09/2007 15:33:25
Hola amigos....
Estoy realizando una aplicacion donde tengo un formulario padre y a traves de un TreeView realizo la apertura de diferentes opciones(Forms) dentro del mismo(Padre). El problema esta en que necesito hacer que cuando elija una opcion XXXXXXXX del Tree me cierre el resto de los formularios abiertos menos el padre, obviamente.

Hasta ahora lo unico que encontre fue el siguiente codigo:
Application.OpenForms.Count

pero me devuelve la cantidad de Forms abiertos, existe alguna forma de averiguar el nombre de el total de Formularios abiertos. Si es cierto, lo uso con un form y problema solucionado.

Muchisimas gracias y espero me puedan ayudar en esta nueva dificultad....

Saludos
ElPelikano
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:Urgente: Forms Abiertos

Publicado por Iván K (55 intervenciones) el 10/09/2007 16:56:47
Me imagino que al abrir un formulario hijo, le indicas a este cuál va a ser su padre, por ejemplo:

formaHijo fHijo = new formaHijo(); // fomaHijo ya creada.
this.AddOwnedForm(fHijo); // 'this' hace referencia a la forma padre
fHijo.MdiParent = this;
fHijo.Show();

Después de esto, me imagino que lo que estas usando es el evento 'AfterCheck' del TreeView, lo que puedes usar para cerrar todas las ventanas es el siguiente código:

foreach (Form f in this.MdiChildren)
f.Close();

Aquí ya le estas indicando que cierre todas las ventanas hijo, después de esto ya puedes agregar el código para que ejecute la forma correspondiente al nodo seleccionado.

Espero que te sirva.
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