Saber si ya existen objetos de una clase creada para no crear mas

13/02/2005 - 13:23 por Hans Castorp | Informe spam
La situación es la siguiente:

1.- Pincho en un nodo del arbol y esto me crea un form.
2.- Pincho en otro nodo y en principio me crearía otro.
Todos estos forms están contenidos en un MDI form.
Cuando vuelvo a pinchar en el primero me gustaría que me mostrase el form
que ya tengo creado y no que me cree otro más.

¿Como puedo controlar esto?. La primera vez quiero que me lo cree pero la
segunda quiero que vuelva al que ya tengo creado.

Gracias
 

Leer las respuestas

#1 Octavio Hernandez
13/02/2005 - 14:46 | Informe spam
Hans,

1- Si la aplicación es MDI, puedes acceder a la lista de todas las ventanas
hijas existentes mediante la propiedad MDIChildren del form principal.
2- Para comprobar si una ventana es de una clase específica, puedes utilizar
el operador is de C#.

Uniendo las dos técnicas, puedes saber si existe un form de la clase que te
interesa.

3- Mírate este artículo sobre cómo asociar información adicional a los
nodos de un treeview:

http://msdn.microsoft.com/library/d...eenode.asp

Por ejemplo, podrías almacenar en cada nodo del treeview una referencia a la
clase de la ventana que debería aparecer cuando se 'pinche' sobre ese nodo.
4- Si tienes una referencia a una clase, es fácil mediante reflexión crear
un objeto de esa clase (en este caso una ventana), si no lo encontraras en
la lista de hijas MDI.

Un consejo adicional para darle mejor 'forma' a tu aplicación es que todas
tus ventanas hijas de diferentes tipos hereden de una clase base común. Así
te será más fácil gestionar los comportamientos comunes que seguro querrás
que tengan.

Saludos,

Octavio


"Hans Castorp" escribió en el
mensaje news:
La situación es la siguiente:

1.- Pincho en un nodo del arbol y esto me crea un form.
2.- Pincho en otro nodo y en principio me crearía otro.
Todos estos forms están contenidos en un MDI form.
Cuando vuelvo a pinchar en el primero me gustaría que me mostrase el form
que ya tengo creado y no que me cree otro más.

¿Como puedo controlar esto?. La primera vez quiero que me lo cree pero la
segunda quiero que vuelva al que ya tengo creado.

Gracias

Preguntas similares