No abrir otra vez un formulario dentro de un MDI

24/06/2006 - 20:25 por Javier Cervantes | Informe spam
Hola amigos del foro:

Una preguntota: Tengo un MDI que en una opción de menú me abre un
formulario. La cosa es que si el usuario vuelve a la misma opcion de menú me
habre otra instancia de ese mismo formulario, algo que no quiero.

¿Cómo puedo hacerle para que el sistema me detecte que x formulario ya esta
abierto y no lo vuelva a crear?

Gracias de antemano.

Preguntas similare

Leer las respuestas

#1 Noticias
24/06/2006 - 17:56 | Informe spam
Puedes recorrer los hijos del formulario padre
o bien puedes desactivar el boton que abre el formulario hijo y cuando lo
cierres volverlo a activar.

"Javier Cervantes" escribió en el mensaje
news:
Hola amigos del foro:

Una preguntota: Tengo un MDI que en una opción de menú me abre un
formulario. La cosa es que si el usuario vuelve a la misma opcion de menú


me
habre otra instancia de ese mismo formulario, algo que no quiero.

¿Cómo puedo hacerle para que el sistema me detecte que x formulario ya


esta
abierto y no lo vuelva a crear?

Gracias de antemano.


Respuesta Responder a este mensaje
#2 Vyacheslav Popov
25/06/2006 - 15:31 | Informe spam
Hola Javier,

Podrías hacer la comprobación del siguiente modo:

private void AbrirFormularioX(...)
{
if (formularioX == null)
formularioX = new FormularioX();
...
formularioX.Show();
}

Saludos.

"Javier Cervantes" escribió en el mensaje
news:
Hola amigos del foro:

Una preguntota: Tengo un MDI que en una opción de menú me abre un
formulario. La cosa es que si el usuario vuelve a la misma opcion de menú
me habre otra instancia de ese mismo formulario, algo que no quiero.

¿Cómo puedo hacerle para que el sistema me detecte que x formulario ya
esta abierto y no lo vuelva a crear?

Gracias de antemano.

Respuesta Responder a este mensaje
#3 Fran Peula Ariza
26/06/2006 - 09:11 | Informe spam
Puedes echarle un vistazo al patrón de diseño Singleton. Hay diferentes
formas de hacerlo (comprobando que ya está abierto o no, etc...), pero lo
bueno de los patrones es que son soluciones muy probadas y totalmente
escalables.

Digamos que a grandes rasgos el patrón singleton consiste en hacer el
contructor privado, permitiendo su acceso a él y por ello la instanciación de
la clase mediante un atributo estático. De este modo, con este atributo
podemos controlar si ya se ha creado o no una instancia de esa clase.

Busca en un buscador 'patrón singleton' o 'singleton pattern' que tendrás
mucha información sobre el mismo, así como ejemplos.

Saludos

Fran Peula Ariza

"Javier Cervantes" escribió:

Hola amigos del foro:

Una preguntota: Tengo un MDI que en una opción de menú me abre un
formulario. La cosa es que si el usuario vuelve a la misma opcion de menú me
habre otra instancia de ese mismo formulario, algo que no quiero.

¿Cómo puedo hacerle para que el sistema me detecte que x formulario ya esta
abierto y no lo vuelva a crear?

Gracias de antemano.



Respuesta Responder a este mensaje
#4 Jose Luis Manners
26/06/2006 - 18:05 | Informe spam
Crea el formulario usando el patron Singleton:

http://www.elguille.info/colabora/p...iosMDI.htm

-
Coopera con el foro. Dinos si te sirvió la respuesta aquí planteada.
-

Saludos,

Jose Luis Manners
MCP, MCAD.NET, DCE5
http://www.josemanners.com/

"One of the main causes of the fall of the Roman
Empire was that, lacking zero, they had no way to
indicate successful termination of their C programs."

"C++: Hard to learn and meant to stay that way.
If it was hard to write, it should be hard to read."
(anonymous)


"Javier Cervantes" wrote in message
news:
Hola amigos del foro:

Una preguntota: Tengo un MDI que en una opción de menú me abre un
formulario. La cosa es que si el usuario vuelve a la misma opcion de menú
me habre otra instancia de ese mismo formulario, algo que no quiero.

¿Cómo puedo hacerle para que el sistema me detecte que x formulario ya
esta abierto y no lo vuelva a crear?

Gracias de antemano.

Respuesta Responder a este mensaje
#5 Javier Cervantes
28/06/2006 - 19:21 | Informe spam
Muchas gracias. Muy ingenioso el patron singleton.
"Jose Luis Manners" escribió en el mensaje
news:
Crea el formulario usando el patron Singleton:




http://www.elguille.info/colabora/p...ariosMDI.h
tm

-
Coopera con el foro. Dinos si te sirvió la respuesta aquí planteada.
-

Saludos,

Jose Luis Manners
MCP, MCAD.NET, DCE5
http://www.josemanners.com/

"One of the main causes of the fall of the Roman
Empire was that, lacking zero, they had no way to
indicate successful termination of their C programs."

"C++: Hard to learn and meant to stay that way.
If it was hard to write, it should be hard to read."
(anonymous)


"Javier Cervantes" wrote in message
news:
> Hola amigos del foro:
>
> Una preguntota: Tengo un MDI que en una opción de menú me abre un
> formulario. La cosa es que si el usuario vuelve a la misma opcion de


menú
> me habre otra instancia de ese mismo formulario, algo que no quiero.
>
> ¿Cómo puedo hacerle para que el sistema me detecte que x formulario ya
> esta abierto y no lo vuelva a crear?
>
> Gracias de antemano.
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida