Como deshabilitar/habilitar un menuitem de un namespace.mdiform desde otro namespace.form?

03/10/2009 - 03:12 por Fifthtoe | Informe spam
Saludos a Todos,

Quiero comunicar dos formularios que están en distintos Namespaces.

Tengo los siguiente:
1) Namespace: miNamespaceUno y dentro de este tengo un formulario MDI
Container llamado miFormPrincipal, el cual contiene un menu:
&Abrir-->&Prueba
2) Namespace: miNamespaceDos y dentro de este tengo un formulario MDI Child
llamado miFormChild.

Lo que hago es que al presionar el menuitem "Prueba" me muestre el
formulario miNamespaceDos.miFormChild, luego pongo la propiedad del menuitem
en enabled=false; (para que deshabilite la opción y no pueda crear nuevo
forms).

Lo que hice es:
Cree en miNamespaceUno-->References una referencia al miNamespaceDos, y puse
el using correspondiente.

Lo que quiero es que al cerrar el miNamespaceDos.miFormChild, habilite el
menuitem "Prueba" que está en el miNamespaceUno.miFormPrincipal (para poder
crear un nuevo form).

¿Cómo puedo hacerlo?

Muchas gracias pos su atención.

Saludos.

Fifthtoe.

Preguntas similare

Leer las respuestas

#1 Carles
03/10/2009 - 13:57 | Informe spam
Hola,
Yo crearia un evento en el formulario de miNamespace2:
public event EventHandler onCerrarFormulario;

Luego, en miNamespace1, donde abres el formulario child:

using miNamesPace2;
void abrir()
{
mnuAbrir.Enabled = false;
miFormChild f = new miFormChild();
f.MdiParent = this;
f.onCerrarFormulario += delegate {mnuAbrir.Enabled = true;};
f.show();
}

y, en el FormClosed del formulario hijo:
void form_Closed(sender e, eventHandler e)
{
if (onCerrarFormulario != null) onCerrarFormulario(this, null);
}

Está escrito de memoria, pero los tiros van por ahí.
Saludos.

"Fifthtoe" <fifthtoeATgmail.com> escribió en el mensaje
news:
Saludos a Todos,

Quiero comunicar dos formularios que están en distintos Namespaces.

Tengo los siguiente:
1) Namespace: miNamespaceUno y dentro de este tengo un formulario MDI
Container llamado miFormPrincipal, el cual contiene un menu:
&Abrir-->&Prueba
2) Namespace: miNamespaceDos y dentro de este tengo un formulario MDI
Child llamado miFormChild.

Lo que hago es que al presionar el menuitem "Prueba" me muestre el
formulario miNamespaceDos.miFormChild, luego pongo la propiedad del
menuitem en enabled=false; (para que deshabilite la opción y no pueda
crear nuevo forms).

Lo que hice es:
Cree en miNamespaceUno-->References una referencia al miNamespaceDos, y
puse el using correspondiente.

Lo que quiero es que al cerrar el miNamespaceDos.miFormChild, habilite el
menuitem "Prueba" que está en el miNamespaceUno.miFormPrincipal (para
poder crear un nuevo form).

¿Cómo puedo hacerlo?

Muchas gracias pos su atención.

Saludos.

Fifthtoe.




Respuesta Responder a este mensaje
#2 Carlos Coria
03/10/2009 - 17:05 | Informe spam
Gracias Isabel por su respuesta.

Ya intenté antes lo mismo que usted propone, pero el formChild no
detecta al
formParent ya que están en diferentes namespaces (hice la prueba de
diferentes modos y no hay caso).

Voy a probar la sugerencia de Carles y ya les comentaré como salió.

Muchas gracias.

Fifthtoe.
**************************************

On 3 oct, 18:34, "Isabel" wrote:
Hola,
Otra forma es declarar el boton del menu como público, y desde el formulario
hijo hacer:

this.MdiParent.botonAbrir.Enabled = true;

aunque yo prefiero la versión de Carles.

"Fifthtoe" <fifthtoeATgmail.com> escribió en el mensajenews:



> Saludos a Todos,

> Quiero comunicar dos formularios que están en distintos Namespaces.

> Tengo los siguiente:
> 1) Namespace:  miNamespaceUno y dentro de este tengo un formulario MDI
> Container llamado miFormPrincipal, el cual contiene un menu:
> &Abrir-->&Prueba
> 2) Namespace:  miNamespaceDos y dentro de este tengo un formulario MDI
> Child llamado miFormChild.

> Lo que hago es que al presionar el menuitem "Prueba" me muestre el
> formulario miNamespaceDos.miFormChild, luego pongo la propiedad del
> menuitem en enabled=false; (para que deshabilite la opción y no pueda
> crear nuevo forms).

> Lo que hice es:
> Cree en miNamespaceUno-->References una referencia al miNamespaceDos, y
> puse el using correspondiente.

> Lo que quiero es que al cerrar el miNamespaceDos.miFormChild,  habilite el
> menuitem "Prueba" que está en el miNamespaceUno.miFormPrincipal  (para
> poder crear un nuevo form).

> ¿Cómo puedo hacerlo?

> Muchas gracias pos su atención.

> Saludos.

> Fifthtoe.
Respuesta Responder a este mensaje
#3 Carlos Coria
03/10/2009 - 17:07 | Informe spam
Gracias Carles,

Voy a poner en práctica la sugerencia y ya comentaré como me fue, pues
puede pasar que haya algo que yo no sepa aplicar de su comentario.

Saludos.

Fifthtoe.

***************************************************
On 3 oct, 08:57, "Carles" wrote:
Hola,
Yo crearia un evento en el formulario de miNamespace2:
public event EventHandler onCerrarFormulario;

Luego, en miNamespace1, donde abres el formulario child:

using miNamesPace2;
void abrir()
{
mnuAbrir.Enabled = false;
miFormChild f = new miFormChild();
f.MdiParent = this;
f.onCerrarFormulario += delegate {mnuAbrir.Enabled = true;};
f.show();

}

y, en el FormClosed del formulario hijo:
void form_Closed(sender e, eventHandler e)
{
if (onCerrarFormulario != null) onCerrarFormulario(this, null);

}

Está escrito de memoria, pero los tiros van por ahí.
Saludos.

"Fifthtoe" <fifthtoeATgmail.com> escribió en el mensajenews:



> Saludos a Todos,

> Quiero comunicar dos formularios que están en distintos Namespaces.

> Tengo los siguiente:
> 1) Namespace:  miNamespaceUno y dentro de este tengo un formulario MDI
> Container llamado miFormPrincipal, el cual contiene un menu:
> &Abrir-->&Prueba
> 2) Namespace:  miNamespaceDos y dentro de este tengo un formulario MDI
> Child llamado miFormChild.

> Lo que hago es que al presionar el menuitem "Prueba" me muestre el
> formulario miNamespaceDos.miFormChild, luego pongo la propiedad del
> menuitem en enabled=false; (para que deshabilite la opción y no pueda
> crear nuevo forms).

> Lo que hice es:
> Cree en miNamespaceUno-->References una referencia al miNamespaceDos, y
> puse el using correspondiente.

> Lo que quiero es que al cerrar el miNamespaceDos.miFormChild,  habilite el
> menuitem "Prueba" que está en el miNamespaceUno.miFormPrincipal  (para
> poder crear un nuevo form).

> ¿Cómo puedo hacerlo?

> Muchas gracias pos su atención.

> Saludos.

> Fifthtoe.
Respuesta Responder a este mensaje
#4 Isabel
03/10/2009 - 23:34 | Informe spam
Hola,
Otra forma es declarar el boton del menu como público, y desde el formulario
hijo hacer:

this.MdiParent.botonAbrir.Enabled = true;

aunque yo prefiero la versión de Carles.




"Fifthtoe" <fifthtoeATgmail.com> escribió en el mensaje
news:
Saludos a Todos,

Quiero comunicar dos formularios que están en distintos Namespaces.

Tengo los siguiente:
1) Namespace: miNamespaceUno y dentro de este tengo un formulario MDI
Container llamado miFormPrincipal, el cual contiene un menu:
&Abrir-->&Prueba
2) Namespace: miNamespaceDos y dentro de este tengo un formulario MDI
Child llamado miFormChild.

Lo que hago es que al presionar el menuitem "Prueba" me muestre el
formulario miNamespaceDos.miFormChild, luego pongo la propiedad del
menuitem en enabled=false; (para que deshabilite la opción y no pueda
crear nuevo forms).

Lo que hice es:
Cree en miNamespaceUno-->References una referencia al miNamespaceDos, y
puse el using correspondiente.

Lo que quiero es que al cerrar el miNamespaceDos.miFormChild, habilite el
menuitem "Prueba" que está en el miNamespaceUno.miFormPrincipal (para
poder crear un nuevo form).

¿Cómo puedo hacerlo?

Muchas gracias pos su atención.

Saludos.

Fifthtoe.




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