Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/04/2009, 14:00
Avatar de mvazquez
mvazquez
 
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 19 años, 6 meses
Puntos: 8
Respuesta: Acceder a métodos de formulario activo,

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.
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."