lunes, 23 de enero de 2012

Formularios Ocultos

Si se está iniciando con Windows Forms y C#, y además usamos varios formularios, usamos métodos y propiedades de estos para llegar a nuestro fin, bueno pues la pregunta que surge en C# es como llamo nuevamente el formulario hijo que está oculto desde el padre.
Con este ejemplo vamos a darle solución, partiendo que tenemos un formulario padre y dos hijos de los cuales uno va a ser oculto momentáneamente, pero no queremos inicializarlo nuevamente para no “perder” los datos que están en sus controles.


Para nuestro formulario múltiple tenemos estas líneas de código que genera muchas veces el mismo formulario y no tiene un mayor efecto que marcar una diferencia con nuestro formulario controlado.

Creamos un proyecto con un formulario principal que va ser nuestro padre o nuestra interfaz de múltiples documentos, en el cual tenemos dos formularios uno que va a ser declarado nuevo cada vez que se presione el botón, y otro que va a tener dos estados en el botón que lo llama, si no está abierto, lo crea nuevo, pero si está oculto lo permite ver y si está abierto y visible lo cierra.


Para el trabajo con nuestro formulario “único”, tenemos que entender que es lo que hace Hide(), este método oculta el control del usuario seria un equivalente a la propiedad visible = false, pero haciendo referencia a un método no a una propiedad, su contrario sería show(). 


Si se tiene ya iniciado el formulario y no está oculto (Hide) lo que hace es que lo cierra, para que pueda ser nuevamente llamado como uno nuevo, pero esto implica que todos los datos que están en los controles y no han sido guardados en ningún storage apropiado se perderán, para saber si esta creado nos podemos ayudar de la propiedad isHandlecreated, esta propiedad es un booleano, así que nos devuelve o una respuesta positiva (true) o una negativa (false), lo que nos dice es que si ha sido asociado algún manejador, si ya fueron creados todos sus eventos, y esta activo, cuando la respuesta es positiva se cierra nuestro formulario.
Así obtenemos un formulario padre y dos hijos con distinta formas de llamarlos y visualizarlos.




Descargar Fuente


Saludos y Gracias.
JamC.

1 comentario:

  1. Que es "unic" en tu codigo? Podrias subir la fuente de nuevo? Link caido!

    ResponderEliminar