instancia unica de un MDI hijo

19/04/2004 - 14:03 por NOSPAMdavidcs | Informe spam
Quiero tener una UNICA instancia de un formulario MDI hijo de forma que la
primera vez que se llame, se cree la instancia y que en otras llamadas,
como ya existe la instancia, se muestre esa instancia sobre el resto de
otros mdi hijos que pudiese haber abiertos.

Gracias

Preguntas similare

Leer las respuestas

#1 Carlos Rodríguez
19/04/2004 - 21:20 | Informe spam
Hola David,
Creo que este ejemplo puede ayudarte

public static void SetVista(System.Windows.Forms.Form mdiP, System.Type
tipo)
{
int TAM = mdiP.MdiChildren.Length;
Form childForm = null;
for(int i=0;i<TAM;i++)
{
childForm = mdiP.MdiChildren[i];
if(childForm.GetType() == tipo)
{
childForm.WindowState = System.Windows.Forms.FormWindowState.Maximized;
childForm.Focus();
return;
}
}
childForm = (System.Windows.Forms.Form)Activator.CreateInstance(tipo);
childForm.MdiParent = mdiP;
childForm.WindowState = System.Windows.Forms.FormWindowState.Maximized;
childForm.Show();


}

"david cs" escribió en el mensaje
news:#c$
Quiero tener una UNICA instancia de un formulario MDI hijo de forma que la
primera vez que se llame, se cree la instancia y que en otras llamadas,
como ya existe la instancia, se muestre esa instancia sobre el resto de
otros mdi hijos que pudiese haber abiertos.

Gracias


Respuesta Responder a este mensaje
#2 Octavio Hernandez
19/04/2004 - 21:29 | Informe spam
David,

En el formulario principal, declara una variable privada de tipo Form o del
tipo del formualrio hijo MDI, inicialízala a null, y luego crea un método
que la cree si no existe y luego la muestre, o simplemente la muestre si ya
existía. Luego llama al método desde cualquier lugar en el que quieras crear
o mostrar.

Algo similar a esto:

public class FormPrincipal: Form {
private FormHija1 fHija1 = null;
public void MostrarHija1() {
if (fHija1 == null)
fHija1 = new FormHija1();
fHija1.Show();
}
}

Salu2,

Octavio

"david cs" escribió en el mensaje
news:%23c$
Quiero tener una UNICA instancia de un formulario MDI hijo de forma que la
primera vez que se llame, se cree la instancia y que en otras llamadas,
como ya existe la instancia, se muestre esa instancia sobre el resto de
otros mdi hijos que pudiese haber abiertos.

Gracias


Respuesta Responder a este mensaje
#3 NOSPAMdavidcs
20/04/2004 - 08:28 | Informe spam
Muchas gracias Octavio. Probare ambas soluciones que he encontrado en las
news

Un abrazo.
Respuesta Responder a este mensaje
#4 NOSPAMdavidcs
20/04/2004 - 08:30 | Informe spam
Muchas gracias Carlos. Probare ambas soluciones que he encontrado en las
news

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