Arrancar aplicación con formulario estático

30/12/2003 - 17:59 por Jose Egea | Informe spam
Hola a todos:
Estoy creando una aplicación MDI en la que se gestionan las ventanas hijas
desde la barra de botones del formulario padre. Para cambiar el estado de
los botones según el estado del formulario hijo cuando se activa había
pensado en hacer el formulario padres static con Singleton para que sus
controles y métodos sean accesibles desde cualquier sitio.
Pero si lo hago estático no me arranca la aplicación en la instrucción
Application.Run(new FormParent());
pues para arrancar el formulario principal no puede ser estático

¿Cual creeis que es la mejor manera de solucionar esto?

Feliz Año Nuevo 2004

Jose Egea

Preguntas similare

Leer las respuestas

#1 Carla
30/12/2003 - 21:57 | Informe spam
A que te refieres con "accesibles desde cualquier sitio". desde los frm
hijos puedes acceder al padre a traves de mdiParent(no se si el nombre del
metodo es exacto).puedes crear un metodo publico para gestionar esto.
No te vale asi?
"Jose Egea" escribió en el mensaje
news:#
Hola a todos:
Estoy creando una aplicación MDI en la que se gestionan las ventanas hijas
desde la barra de botones del formulario padre. Para cambiar el estado de
los botones según el estado del formulario hijo cuando se activa había
pensado en hacer el formulario padres static con Singleton para que sus
controles y métodos sean accesibles desde cualquier sitio.
Pero si lo hago estático no me arranca la aplicación en la instrucción
Application.Run(new FormParent());
pues para arrancar el formulario principal no puede ser estático

¿Cual creeis que es la mejor manera de solucionar esto?

Feliz Año Nuevo 2004

Jose Egea


Respuesta Responder a este mensaje
#2 Sergio C.
30/12/2003 - 22:44 | Informe spam
He tenido un problema parecido. Tenia un formulario MDI con una barra de
estado que servia para toda la aplicacion, y los formularios hijos eran los
que cambiaban el texto. Yo lo resolvi con un delegado.

En una clase que llamo General:
public delegate void BarraEstadoDelegado (string texto);
public static BarraEstadoDelegado EscribirBarraEstado;

Luego en el load del MDI:
General.EscribirBarraEstado = new General.BarraEstadoDelegado
(BarraEstado);

Y tambien en el MDI:
private void BarraEstado (string texto) {
StatusBar.Panels[0].Text = texto;
}

Con esto hice que desde cualquier punto de la aplicacion pudiera cambiar
el texto de la barra de estado con: General.EscribirBarraEstado (texto).

No se si tu podrias aplicar algo asi para lo que quieres...

Un saludo,
Sergio C.

"Jose Egea" escribió en el mensaje
news:%
Hola a todos:
Estoy creando una aplicación MDI en la que se gestionan las ventanas hijas
desde la barra de botones del formulario padre. Para cambiar el estado de
los botones según el estado del formulario hijo cuando se activa había
pensado en hacer el formulario padres static con Singleton para que sus
controles y métodos sean accesibles desde cualquier sitio.
Pero si lo hago estático no me arranca la aplicación en la instrucción
Application.Run(new FormParent());
pues para arrancar el formulario principal no puede ser estático

¿Cual creeis que es la mejor manera de solucionar esto?

Feliz Año Nuevo 2004

Jose Egea


Respuesta Responder a este mensaje
#3 Jose Egea
02/01/2004 - 09:09 | Informe spam
Hola a todos y feliz año nuevo:
Al día siguiente lo estuve pensando y la solución era evidente.
Efectivamente se puede acceder al formulario principal pero convirtiendo el
MdiParent al tipo FormPrincipal:

((FormPrincipal)this.MdiParent).MiMetodo;

De todas maneras por vuestro interés, y a Carla porque seguramente voy a
utilizar su consejo sobre el delegado.

Saludos




"Jose Egea" escribió en el mensaje
news:#
Hola a todos:
Estoy creando una aplicación MDI en la que se gestionan las ventanas hijas
desde la barra de botones del formulario padre. Para cambiar el estado de
los botones según el estado del formulario hijo cuando se activa había
pensado en hacer el formulario padres static con Singleton para que sus
controles y métodos sean accesibles desde cualquier sitio.
Pero si lo hago estático no me arranca la aplicación en la instrucción
Application.Run(new FormParent());
pues para arrancar el formulario principal no puede ser estático

¿Cual creeis que es la mejor manera de solucionar esto?

Feliz Año Nuevo 2004

Jose Egea

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