Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Visual Basic proporciona un modelo bien definido para controlar el comportamiento de las aplicaciones de Windows Forms: el modelo de aplicación de Visual Basic. Este modelo incluye eventos para controlar el inicio y apagado de la aplicación, así como eventos para detectar excepciones no controladas. También proporciona compatibilidad con el desarrollo de aplicaciones de instancia única. El modelo de aplicación es extensible, por lo que los desarrolladores que necesitan más control pueden personalizar sus métodos reemplazables.
Usos para el modelo de aplicación
Una aplicación típica debe realizar tareas cuando se inicia y se cierra. Por ejemplo, cuando se inicia, la aplicación puede mostrar una pantalla de presentación, hacer conexiones de base de datos, cargar un estado guardado, etc. Cuando la aplicación se cierra, puede cerrar las conexiones de base de datos, guardar el estado actual, etc. Además, la aplicación puede ejecutar código específico cuando la aplicación se cierra inesperadamente, como durante una excepción no controlada.
El modelo de aplicación de Visual Basic facilita la creación de una aplicación de instancia única . Una aplicación de instancia única difiere de una aplicación normal en que solo se puede ejecutar una instancia de la aplicación a la vez. Un intento de iniciar otra instancia de una aplicación de instancia única da como resultado que se notifique la instancia original (por medio del StartupNextInstance
evento) que se realizó otro intento de inicio. La notificación incluye los argumentos de la línea de comandos de la instancia posterior. A continuación, se cierra la instancia posterior de la aplicación antes de que se pueda producir cualquier inicialización.
Una aplicación de instancia única se inicia y comprueba si es la primera instancia o una instancia posterior de la aplicación:
Si es la primera instancia, se inicia como de costumbre.
Cada intento posterior de iniciar la aplicación, mientras se ejecuta la primera instancia, da como resultado un comportamiento muy diferente. El intento posterior notifica a la primera instancia los argumentos de la línea de comandos y, a continuación, se cierra inmediatamente. La primera instancia controla el
StartupNextInstance
evento para determinar cuáles eran los argumentos de la línea de comandos de la instancia posterior y continúa ejecutándose.En este diagrama se muestra cómo una instancia posterior indica la primera instancia:
Al controlar el StartupNextInstance
evento, puede controlar cómo se comporta la aplicación de instancia única. Por ejemplo, Microsoft Outlook se ejecuta normalmente como una aplicación de instancia única; cuando Outlook se está ejecutando e intenta iniciar Outlook de nuevo, el foco cambia a la instancia original, pero otra instancia no se abre.
Eventos en el modelo de aplicación
Los eventos siguientes se encuentran en el modelo de aplicación:
Inicio de la aplicación. La aplicación genera el evento Startup cuando se inicia. Al controlar este evento, puede agregar código que inicialice la aplicación antes de cargar el formulario principal. El
Startup
evento también proporciona la cancelación de la ejecución de la aplicación durante esa fase del proceso de inicio, si lo desea.Puede configurar la aplicación para mostrar una pantalla de presentación mientras se ejecuta el código de inicio de la aplicación. De forma predeterminada, el modelo de aplicación suprime la pantalla de presentación cuando se utiliza el argumento de línea de comandos
/nosplash
o-nosplash
.Aplicaciones de instancia única. El StartupNextInstance evento se genera cuando se inicia una instancia posterior de una aplicación de instancia única. El evento pasa los argumentos de la línea de comandos de la instancia posterior.
Excepciones no controladas. Si la aplicación encuentra una excepción no controlada, genera el UnhandledException evento . El controlador de ese evento puede examinar la excepción y determinar si desea continuar la ejecución.
El evento
UnhandledException
no se genera en algunas circunstancias. Para obtener más información, consulte UnhandledException.Cambios de conectividad de red. Si cambia la disponibilidad de red del equipo, la aplicación genera el NetworkAvailabilityChanged evento .
El evento
NetworkAvailabilityChanged
no se genera en algunas circunstancias. Para obtener más información, consulte NetworkAvailabilityChanged.Cierre de la aplicación. La aplicación proporciona el Shutdown evento para indicar cuándo está a punto de apagarse. En ese controlador de eventos, puede asegurarse de que se completen las operaciones que la aplicación necesita para realizar( por ejemplo, cerrar y guardar). Puede configurar la aplicación para que se cierre cuando se cierre el formulario principal o para cerrarse solo cuando se cierren todos los formularios.
Disponibilidad
De forma predeterminada, el modelo de aplicación de Visual Basic está disponible para proyectos de Windows Forms. Si configura la aplicación para que use un objeto de inicio diferente o inicie el código de la aplicación con un objeto personalizado Sub Main
, es posible que ese objeto o clase necesite proporcionar una implementación de la WindowsFormsApplicationBase clase para usar el modelo de aplicación. Para obtener información sobre cómo cambiar el objeto de inicio, vea Página de la aplicación, Diseñador de proyectos (Visual Basic) .