En el foro de MSDN ha habido un pique sano sobre los lenguajes de programación VB.Net Vs C# yo como representante de los de ; quiero responder al reto de poder cerrar el formulario principal de una aplicación Windows sin cerrar la aplicación entera ni ocultar este formulario.
Mi propuesta es:
Toda aplicación Windows empieza por la función Main() que es la entrada de la aplicación y la encargada de lanzar el formulario principal.
Entonces que pasaría si no abrimos directamente el formulario y solo abrimos el contexto para la aplicación?
ApplicationContext (Clase)
Especifica información contextual sobre un subproceso de aplicación.
Espacio de nombres: System.Windows.Forms
Primero crearemos la clase que utilizaremos para manejar los formularios
Lo más importante es que herede de ApplicationContext para poderla utilizar para arrancar la aplicación.
Crearemos un par de formularios para demostrar la funcionalidad.
Finalmente en la entrada de la la aplicación utilizaremos nuestra clase personalizada.
Y ya podemos cerrar los formularios que queramos que la aplicación sigue funcionando. Solo nos quedaría mejorar nuestra clase para saber si tenemos todos los formularios cerrados terminar con la aplicación.
Os adjunto el ejemplo y espero el siguiente reto de los de VB ;-).
Saludos.