Partager via


Extension du modèle d’application Visual Basic

Vous pouvez ajouter des fonctionnalités au modèle d’application en remplaçant les Overridable membres de la WindowsFormsApplicationBase classe. Cette technique vous permet de personnaliser le comportement du modèle d’application et d’ajouter des appels à vos propres méthodes au démarrage et à l’arrêt de l’application.

Vue d’ensemble visuelle du modèle d’application

Cette section présente visuellement la séquence d’appels de fonction dans le modèle d’application Visual Basic. La section suivante décrit l’objectif de chaque fonction en détail.

Le graphique suivant montre la séquence d’appels du modèle d’application dans une application Windows Forms Visual Basic normale. La séquence démarre lorsque la Sub Main procédure appelle la Run méthode.

Diagramme montrant la séquence d’appels du modèle d’application.

Le modèle d’application Visual Basic fournit également les événements et UnhandledException les StartupNextInstance événements. Les graphiques suivants montrent le mécanisme de déclenchement de ces événements.

Diagramme montrant la méthode OnStartupNextInstance qui déclenche l’événement StartupNextInstance.

Diagramme montrant la méthode OnUnhandledException qui déclenche l’événement UnhandledException.

Substitution des méthodes de base

La Run méthode définit l’ordre dans lequel les méthodes s’exécutent Application . Par défaut, la Sub Main procédure d’une application Windows Forms appelle la Run méthode.

Si l’application est une application normale (application à plusieurs instances) ou la première instance d’une application à instance unique, la Run méthode exécute les Overridable méthodes dans l’ordre suivant :

  1. OnInitialize. Par défaut, cette méthode définit les styles visuels, les styles d’affichage de texte et le principal actuel du thread d’application principal (si l’application utilise l’authentification Windows) et appelle ShowSplashScreen si ni aucun argument de ligne de commande n’est /nosplash-nosplash utilisé.

    La séquence de démarrage de l’application est annulée si cette fonction retourne False. Cela peut être utile s’il existe des circonstances dans lesquelles l’application ne doit pas s’exécuter.

    La OnInitialize méthode appelle les méthodes suivantes :

    1. ShowSplashScreen. Détermine si l’application a un écran de démarrage défini et, le cas échéant, affiche l’écran de démarrage sur un thread distinct.

      La ShowSplashScreen méthode contient le code qui affiche l’écran de démarrage pendant au moins le nombre de millisecondes spécifiées par la MinimumSplashScreenDisplayTime propriété. Pour utiliser cette fonctionnalité, vous devez ajouter l’écran de démarrage à votre application à l’aide du Concepteur de projets (qui définit la My.Application.MinimumSplashScreenDisplayTime propriété sur deux secondes) ou définir la My.Application.MinimumSplashScreenDisplayTime propriété dans une méthode qui remplace la ou OnCreateSplashScreen la OnInitialize méthode. Pour plus d’informations, consultez MinimumSplashScreenDisplayTime.

    2. OnCreateSplashScreen. Permet à un concepteur d’émettre du code qui initialise l’écran de démarrage.

      Par défaut, cette méthode ne fait rien. Si vous sélectionnez un écran de démarrage pour votre application dans le Concepteur de projets Visual Basic, le concepteur remplace la OnCreateSplashScreen méthode par une méthode qui définit la SplashScreen propriété sur une nouvelle instance du formulaire d’écran de démarrage.

  2. OnStartup. Fournit un point d’extensibilité pour déclencher l’événement Startup . La séquence de démarrage de l’application s’arrête si cette fonction retourne False.

    Par défaut, cette méthode déclenche l’événement Startup . Si le gestionnaire d’événements définit la Cancel propriété de l’argument Trued’événement sur , la méthode retourne False pour annuler le démarrage de l’application.

  3. OnRun. Fournit le point de départ pour lequel l’application principale est prête à démarrer l’exécution, une fois l’initialisation terminée.

    Par défaut, avant d’entrer dans la boucle de message Windows Forms, cette méthode appelle les OnCreateMainForm méthodes (pour créer le formulaire principal de l’application) et HideSplashScreen (pour fermer l’écran de démarrage) :

    1. OnCreateMainForm. Fournit un moyen pour un concepteur d’émettre du code qui initialise le formulaire principal.

      Par défaut, cette méthode ne fait rien. Toutefois, lorsque vous sélectionnez un formulaire principal pour votre application dans le Concepteur de projets Visual Basic, le concepteur remplace la OnCreateMainForm méthode par une méthode qui définit la MainForm propriété sur une nouvelle instance du formulaire principal.

    2. HideSplashScreen. Si l’application a un écran de démarrage défini et qu’il est ouvert, cette méthode ferme l’écran de démarrage.

      Par défaut, cette méthode ferme l’écran de démarrage.

  4. OnStartupNextInstance. Fournit un moyen de personnaliser le comportement d’une application à instance unique quand une autre instance de l’application démarre.

    Par défaut, cette méthode déclenche l’événement StartupNextInstance .

  5. OnShutdown. Fournit un point d’extensibilité pour déclencher l’événement Shutdown . Cette méthode ne s’exécute pas si une exception non gérée se produit dans l’application principale.

    Par défaut, cette méthode déclenche l’événement Shutdown .

  6. OnUnhandledException. Exécuté si une exception non gérée se produit dans l’une des méthodes répertoriées ci-dessus.

    Par défaut, cette méthode déclenche l’événement UnhandledException tant qu’un débogueur n’est pas attaché et que l’application gère l’événement UnhandledException .

Si l’application est une application à instance unique et que l’application est déjà en cours d’exécution, l’instance suivante de l’application appelle la OnStartupNextInstance méthode sur l’instance d’origine de l’application, puis se ferme.

Le OnStartupNextInstance(StartupNextInstanceEventArgs) constructeur appelle la UseCompatibleTextRendering propriété pour déterminer le moteur de rendu de texte à utiliser pour les formulaires de l’application. Par défaut, la UseCompatibleTextRendering propriété retourne False, indiquant que le moteur de rendu de texte GDI doit être utilisé, qui est la valeur par défaut dans Visual Basic 2005 et versions ultérieures. Vous pouvez remplacer la UseCompatibleTextRendering propriété pour retourner True, ce qui indique que le moteur de rendu de texte GDI+ doit être utilisé, qui est la valeur par défaut dans Visual Basic .NET 2002 et Visual Basic .NET 2003.

Configuration de l’application

Dans le cadre du modèle Application Visual Basic, la WindowsFormsApplicationBase classe fournit des propriétés protégées qui configurent l’application. Ces propriétés doivent être définies dans le constructeur de la classe d’implémentation.

Dans un projet Windows Forms par défaut, le Concepteur de projets crée du code pour définir les propriétés avec les paramètres du concepteur. Les propriétés sont utilisées uniquement lorsque l’application démarre ; la définition de ces paramètres une fois l’application démarrée n’a aucun effet.

Propriété Détermine Définition dans le volet Application du Concepteur de projets
IsSingleInstance Indique si l’application s’exécute en tant qu’application à instance unique ou à plusieurs instances. Case à cocher Créer une application à instance unique
EnableVisualStyles Si l’application utilise des styles visuels qui correspondent à Windows XP. Activer les styles visuels XP , case à cocher
SaveMySettingsOnExit Si l’application enregistre automatiquement les paramètres utilisateur de l’application lors de la fermeture de l’application. Case à cocher Enregistrer My.Settings on Shutdown
ShutdownStyle Ce qui provoque l’arrêt de l’application, par exemple lorsque le formulaire de démarrage se ferme ou lorsque le dernier formulaire se ferme. Liste des modes d’arrêt

Voir aussi