Voy a replantear, tengo un Menú con un MDI con diferentes opciones, cada una de las opciones abre un formulario y lo instancio de la siguiente manera:
En el formulario hijo declaro esto:
private static frmHijo frmInstance = null;
El constructor lo pongo de Public a Private y creo el siguiente metodo:
Código:
public static frmHijo Instance()
{
if (((frmInstance == null) || (frmInstance.IsDisposed == true)))
{
frmInstance = new frmHijo();
}
frmInstance.BringToFront();
return frmInstance;
}
Esto para que si ya esta instanciado pues ya no lo instancie:
Y lo invoco desde el MDI de la siguiente manera:
frmHijo _frmHijo = frmHijo.Instance();
frmHijo.MdiParent = this;
frmHijo.Show();
y ya lo abre, hasta ahí todo bien, dentro de los formularios hijos tengo metodos publicos, Guardar, Actualizar, etc., etc.
Ahora supongamos que tengo 5 formularios abiertos y en mi MDI tengo el boton de guardar.
Al dare al boton click en el menu del MDI como puedo accesar a los metodos publicos de los hijos, yo se cual es el hijo que esta activo y podria hacer lo siguiente:
frmHijo.Save();
Pero quiero hacer algo mas generico para no hace condiciones, no se si me de a entender, alguien que me oriente?
Gracias.