Foros del Web » Programación para mayores de 30 ;) » .NET »

Impedir duplicado de ventanas hijas en menu(MDI)

Estas en el tema de Impedir duplicado de ventanas hijas en menu(MDI) en el foro de .NET en Foros del Web. esi quisiera saber como impedir que se me dupliquen klas ventanas al selecionar un formulario desde el menu.. generalemnte lo hago así en C# FORM ...
  #1 (permalink)  
Antiguo 19/11/2009, 10:21
Avatar de Dimax  
Fecha de Ingreso: octubre-2009
Mensajes: 33
Antigüedad: 14 años, 7 meses
Puntos: 0
Impedir duplicado de ventanas hijas en menu(MDI)

esi quisiera saber como impedir que se me dupliquen klas ventanas al selecionar un formulario desde el menu..

generalemnte lo hago así en C#

FORM form = new FORM ();
form.MdiParent = this;
form.show();

pero cuando si lo vuelvo a abri, me vuelve a aparecer el mismo formulario..

la idea es que se pueda abrir distintos formularios pero que no sean iguales..

igual lo intente así
if (this.MdiChildren.Length == 0)
{
FORM form = new FORM();
form.MdiParent = this;
form.Show();
}

me deja abrir solo una ventana.. y las demas las bloquea :(

he leido que con singleton se puede pero no se usarlo xD

aydua plz
  #2 (permalink)  
Antiguo 19/11/2009, 12:17
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Impedir duplicado de ventanas hijas en menu(MDI)

Podrías declararlos e instanciarlos al inico de la clase y llamarlos dentro del evento que deseas.
Código c#:
Ver original
  1. Public Class TuClase
  2. {
  3.      Form2 f2 = new Form2();
  4.    
  5.      //Evento click de un menú
  6.     {
  7.        f2.MdiParent = this;
  8.        f2.Show();
  9.    }
  10.  
  11. }

O también crear una clase clsFormularios y ahí declararlos como static a todos.
Espero te sirva de idea
__________________
Eduardo Peredo
Wigoin
  #3 (permalink)  
Antiguo 19/11/2009, 12:30
Avatar de Dimax  
Fecha de Ingreso: octubre-2009
Mensajes: 33
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Impedir duplicado de ventanas hijas en menu(MDI)

lo había pensado de esa manera.. pero solo funciona una vez y muere :(
cuando lo quieres volver a abrir da error
  #4 (permalink)  
Antiguo 19/11/2009, 13:29
Avatar de Dimax  
Fecha de Ingreso: octubre-2009
Mensajes: 33
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Impedir duplicado de ventanas hijas en menu(MDI)

alguien puede decirme como hacerlo con singleton?
  #5 (permalink)  
Antiguo 19/11/2009, 16:21
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Impedir duplicado de ventanas hijas en menu(MDI)

Mira esta solución, declaras como te dije antes al inicio del formulario la variable form y luego para abrir el formulario haces lo sgte:
Código c#:
Ver original
  1. if (f == null || f.IsDisposed)
  2.          {
  3.               f = new Form2();
  4.               f.MdiParent = this;
  5.          }
  6. else
  7.          {
  8.               f.BringToFront();
  9.          }
  10. f.Show();
Aunque no sé porque pero no me gusta XD

Fuente

Espero te ayude
__________________
Eduardo Peredo
Wigoin

Última edición por eperedo; 19/11/2009 a las 16:31
  #6 (permalink)  
Antiguo 20/11/2009, 11:49
Avatar de Dimax  
Fecha de Ingreso: octubre-2009
Mensajes: 33
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Impedir duplicado de ventanas hijas en menu(MDI)

encontre la solcuion con singleton..

dejo el enlace
http://www.codeproject.com/KB/archit...etonforms.aspx

:)

Última edición por Dimax; 25/11/2009 a las 07:00
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:53.