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.
Puede agregar funcionalidad al modelo de aplicación reemplazando los Overridable
miembros de la WindowsFormsApplicationBase clase . Esta técnica permite personalizar el comportamiento del modelo de aplicación y agregar llamadas a sus propios métodos a medida que la aplicación se inicia y se cierra.
Información general visual del modelo de aplicación
En esta sección se presenta visualmente la secuencia de llamadas de función en el modelo de aplicación de Visual Basic. En la sección siguiente se describe el propósito de cada función en detalle.
En el gráfico siguiente se muestra la secuencia de llamadas del modelo de aplicación en una aplicación normal de Windows Forms de Visual Basic. La secuencia se inicia cuando el Sub Main
procedimiento llama al Run método .
El modelo de aplicación de Visual Basic también proporciona los StartupNextInstance eventos y UnhandledException . Los gráficos siguientes muestran el mecanismo para generar estos eventos.
Invalidación de los métodos base
El Run método define el orden en el que se ejecutan los Application
métodos. De forma predeterminada, el Sub Main
procedimiento de una aplicación de Windows Forms llama al Run método .
Si la aplicación es una aplicación normal (aplicación de varias instancias) o la primera instancia de una aplicación de instancia única, el Run método ejecuta los Overridable
métodos en el orden siguiente:
OnInitialize. De forma predeterminada, este método establece los estilos visuales, los estilos de presentación de texto y el principal actual para el subproceso de aplicación principal (si la aplicación usa la autenticación de Windows) y llama a
ShowSplashScreen
si ni/nosplash
ni-nosplash
se utilizan como argumentos de línea de comandos.La secuencia de inicio de la aplicación se cancela si esta función devuelve
False
. Esto puede ser útil si hay circunstancias en las que la aplicación no se debe ejecutar.El OnInitialize método llama a los métodos siguientes:
ShowSplashScreen. Determina si la aplicación tiene definida una pantalla de presentación y, si es así, muestra la pantalla de presentación en un subproceso independiente.
El ShowSplashScreen método contiene el código que muestra la pantalla de presentación para al menos el número de milisegundos especificados por la MinimumSplashScreenDisplayTime propiedad . Para usar esta funcionalidad, debe agregar la pantalla de presentación a la aplicación mediante el Diseñador de proyectos (que establece la
My.Application.MinimumSplashScreenDisplayTime
propiedad en dos segundos) o establecer laMy.Application.MinimumSplashScreenDisplayTime
propiedad en un método que sobrescriba el OnInitialize método o el OnCreateSplashScreen método. Para obtener más información, consulte MinimumSplashScreenDisplayTime.OnCreateSplashScreen. Permite que un diseñador emita código que inicialice la pantalla de presentación.
De forma predeterminada, este método no hace nada. Si selecciona una pantalla de presentación para la aplicación en el Diseñador de proyectos de Visual Basic, el diseñador invalida el OnCreateSplashScreen método con un método que establece la SplashScreen propiedad en una nueva instancia del formulario de pantalla de presentación.
OnStartup. Proporciona un punto de extensibilidad para generar el evento
Startup
. La secuencia de inicio de la aplicación se detiene si esta función devuelveFalse
.De forma predeterminada, este método genera el Startup evento . Si el controlador de eventos establece la propiedad Cancel del argumento de evento
True
, el método devuelveFalse
para cancelar el inicio de la aplicación.OnRun. Proporciona el punto de partida para cuando la aplicación principal está lista para empezar a ejecutarse, una vez finalizada la inicialización.
De forma predeterminada, antes de entrar en el bucle de mensajes de Windows Forms, este método llama a los
OnCreateMainForm
métodos (para crear el formulario principal de la aplicación) yHideSplashScreen
(para cerrar la pantalla de presentación):OnCreateMainForm. Proporciona una manera de que un diseñador emita código que inicialice el formulario principal.
De forma predeterminada, este método no hace nada. Sin embargo, al seleccionar un formulario principal para la aplicación en el Diseñador de proyectos de Visual Basic, el diseñador invalida el OnCreateMainForm método con un método que establece la MainForm propiedad en una nueva instancia del formulario principal.
HideSplashScreen. Si la aplicación tiene definida una pantalla de presentación y está abierta, este método cierra la pantalla de presentación.
De forma predeterminada, este método cierra la pantalla de presentación.
OnStartupNextInstance. Proporciona una manera de personalizar cómo se comporta una aplicación de instancia única cuando se inicia otra instancia de la aplicación.
De forma predeterminada, este método genera el StartupNextInstance evento .
OnShutdown. Proporciona un punto de extensibilidad para generar el evento
Shutdown
. Este método no se ejecuta si se produce una excepción no controlada en la aplicación principal.De forma predeterminada, este método genera el Shutdown evento .
OnUnhandledException. Se ejecuta si se produce una excepción no controlada en cualquiera de los métodos enumerados anteriormente.
De forma predeterminada, este método genera el UnhandledException evento siempre que un depurador no esté asociado y la aplicación controle el
UnhandledException
evento.
Si la aplicación es una aplicación de instancia única y la aplicación ya se está ejecutando, la instancia posterior de la aplicación llama al OnStartupNextInstance método en la instancia original de la aplicación y, a continuación, se cierra.
El OnStartupNextInstance(StartupNextInstanceEventArgs) constructor llama a la UseCompatibleTextRendering propiedad para determinar qué motor de representación de texto se va a usar para los formularios de la aplicación. De forma predeterminada, la UseCompatibleTextRendering propiedad devuelve False
, que indica que se usará el motor de representación de texto GDI, que es el valor predeterminado en Visual Basic 2005 y versiones posteriores. Puede invalidar la UseCompatibleTextRendering propiedad para devolver True
, que indica que se usa el motor de representación de texto GDI+, que es el valor predeterminado en Visual Basic .NET 2002 y Visual Basic .NET 2003.
Configuración de la aplicación
Como parte del modelo de aplicación de Visual Basic, la WindowsFormsApplicationBase clase proporciona propiedades protegidas que configuran la aplicación. Estas propiedades deben establecerse en el constructor de la clase de implementación.
En un proyecto de Windows Forms predeterminado, el Diseñador de proyectos crea código para establecer las propiedades con la configuración del diseñador. Las propiedades solo se usan cuando se inicia la aplicación; establecerlos después de que se inicie la aplicación no tiene ningún efecto.
Propiedad | Determina | Configuración en el panel de Aplicación del Diseñador de Proyectos |
---|---|---|
IsSingleInstance | Si la aplicación se ejecuta como una aplicación de instancia única o de varias instancias. | Casilla de verificación Crear aplicación de instancia única |
EnableVisualStyles | Si la aplicación usará estilos visuales que coincidan con Windows XP. | Casilla para habilitar los estilos visuales de XP |
SaveMySettingsOnExit | Si la aplicación guarda automáticamente la configuración de usuario de la aplicación cuando se cierra la aplicación. | Casilla de verificación Guardar My.Settings al apagar |
ShutdownStyle | Lo que hace que la aplicación finalice, como cuando se cierra el formulario de inicio o cuando se cierra el último formulario. | Lista de modo de apagado |