Como cargar una sola ventana hija

02/05/2005 - 19:34 por Ernesto Ramos | Informe spam
Hola a todos los del foro. Quisiera que alguien me ayude.
Sucede que tengo una aplicación MDI en donde las ventanas
hijas son pantallas de mantenimiento. Lo que deseo es que
si ya estoy modificando un determinado producto entonces
no se abra una nueva ventana sino que me muestre la que ya
está activa con ese producto.

A ver quien me puede ayudar.
 

Leer las respuestas

#1 Jose Luis Manners
02/05/2005 - 19:52 | Informe spam
Hola Ernesto,

Lo que puedes hacer es crear una propiedad en la(s) pantalla(s) hija(s) que
devuelva el número del producto que cada formulario este utilizando,
entonces lo comparas con el producto que quieres modificar y si son iguales
entonces quiere decir que ya existe un formulario con ese producto y
ejecutas el método Activate() de ese formulario, de lo contrario creas un
nuevo formulario y sigues tu procedimiento normal. Mira este ejemplo:

En el formulario hijo:

public FormularioHijo(string numeroProducto)
{
this._numeroProducto = numeroProducto;

// haces algo aquí
}

public string NumeroProducto
{
get { return this._numeroProducto; }
}



En el formulario MDI:

private void unMenuCualquiera_Click(object sender, System.EventArgs e)
{
bool encontrado = false;

foreach(Form form in this.MdiChildren)
{
if (form.Name.Equals("Aquí pon el título del formulario"))
{
FormularioHijo frmHijo = (FormularioHijo) form;

if (frmHijo.NumeroProducto.Equals("El número del producto que
quieres va aquí"))
{
encontrado = true;
form.Activate();
}
}
}

if (!encontrado)
{
FormularioHijo frmHijo = new FormularioHijo("El número del producto
que quieres va aquí");
frmHijo.MdiParent = this;
frmHijo.Show();
}
}

Espero te sirva.

Saludos,

Jose Luis Manners, MCP
English: http://blogs.geekdojo.net/jmanners
Español: http://weblogs.golemproject.com/jmanners/

"Encuentra felicidad en tu trabajo o nunca serás feliz."
Cristóbal Colón

"Ernesto Ramos" wrote in message
news:165c01c54f3d$25b0cbb0$
Hola a todos los del foro. Quisiera que alguien me ayude.
Sucede que tengo una aplicación MDI en donde las ventanas
hijas son pantallas de mantenimiento. Lo que deseo es que
si ya estoy modificando un determinado producto entonces
no se abra una nueva ventana sino que me muestre la que ya
está activa con ese producto.

A ver quien me puede ayudar.

Preguntas similares