Cargar un Formulario hijo en MDI



mdi

 

Cada vez que creamos una aplicacion tenemos la necesidad de cargar varios formularios en un contenedor, formulario padre, MDI o como quieran llamarlo. Sucede que con la menera clásica de abrir formularios ( formulario.Show() ) hay un problema, cada vez que realizamos esta operación se crea una instancia nueva del formulario al que llamamos… por ejemplo, si tenemos un botón que ejecuta esa línea de código, el cual presionamos repetidas veces… el formulario que queremos abrir se instanciara cuantas veces hallamos presionado el botón. Una de las formas que me parece correcta es de la siguente manera:

Private generar_ot As Object

If generar_ot Is Nothing OrElse generar_ot.isDisposed Then
generar_ot = New frm_generar_OT
generar_ot.MdiParent = Me
Else
generar_ot.BringToFront()
End If
generar_ot.WindowState = FormWindowState.Maximized
generar_ot.Show()

El código deben agregarlo al evento click de el item en la barra MenuStrip

Lo que hace este código, es verificar si es que ya existe alguna instancia de formulario que se está llamando, también verifica si es que el GarbageCollector lo tiene en su poder (jajajaja) si es así lo trae al frente, de lo contrario lo instancia.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: