Por cierto. cada vez que mis formularios llaman al evento de cierre de formulario o de cierre de formulario, cierro la aplicación con una función this.Hide (). ¿Afecta eso el comportamiento de mi aplicación ahora?
En resumen, si. La aplicación completa finalizará cuando el formulario principal (el formulario que se inició a través Application.Run
del Main
método) esté cerrado (no oculto).
Si su aplicación completa siempre debe terminar por completo cada vez que se cierra su formulario principal, entonces solo debe eliminar ese controlador cerrado de formulario. Al no cancelar ese evento y simplemente dejar que se formen cuando el usuario lo cierra, obtendrá el comportamiento deseado. En cuanto a todos los otros formularios, si no tiene la intención de mostrar la misma instancia del formulario nuevamente, simplemente déjelos cerrar, en lugar de evitar el cierre y ocultarlos. Si los está mostrando nuevamente, entonces ocultarlos puede estar bien.
Si desea que el usuario haga clic en la "x" para su formulario principal, pero que otro formulario permanezca abierto y, en efecto, se convierta en el "formulario principal" nuevo, entonces es un poco más complicado. En tal caso, deberá ocultar su formulario principal en lugar de cerrarlo, pero deberá agregar algún tipo de mecanismo que realmente cierre el formulario principal cuando realmente desee que su aplicación finalice. Si esta es la situación en la que se encuentra, deberá agregar más detalles a su pregunta que describa qué tipos de aplicaciones deberían y no deberían finalizar el programa.