Partager via


Vue d’ensemble du modèle d’application Visual Basic

Visual Basic fournit un modèle bien défini pour contrôler le comportement des applications Windows Forms : le modèle d’application Visual Basic. Ce modèle inclut des événements pour gérer le démarrage et l’arrêt de l’application, ainsi que les événements pour intercepter les exceptions non gérées. Il prend également en charge le développement d’applications à instance unique. Le modèle d’application est extensible, afin que les développeurs qui ont besoin d’un contrôle plus grand puissent personnaliser ses méthodes substituables.

Utilisations pour le modèle d’application

Une application classique doit effectuer des tâches lorsqu’elle démarre et s’arrête. Par exemple, lorsqu’elle démarre, l’application peut afficher un écran de démarrage, établir des connexions de base de données, charger un état enregistré, et ainsi de suite. Lorsque l’application s’arrête, elle peut fermer les connexions de base de données, enregistrer l’état actuel, et ainsi de suite. En outre, l’application peut exécuter du code spécifique lorsque l’application s’arrête de façon inattendue, par exemple lors d’une exception non gérée.

Le modèle d’application Visual Basic facilite la création d’une application à instance unique . Une application à instance unique diffère d’une application normale dans laquelle une seule instance de l’application peut être exécutée à la fois. Une tentative de lancement d’une autre instance d’une application à instance unique entraîne la notification de l’instance d’origine, par le biais de l’événement StartupNextInstance , qu’une autre tentative de lancement a été effectuée. La notification inclut les arguments de ligne de commande de l’instance suivante. L’instance suivante de l’application est ensuite fermée avant toute initialisation.

Une application à instance unique démarre et vérifie s’il s’agit de la première instance ou d’une instance ultérieure de l’application :

  • S’il s’agit de la première instance, elle commence comme d’habitude.

  • Chaque tentative suivante de démarrage de l’application, tandis que la première instance s’exécute, entraîne un comportement très différent. La tentative suivante avertit la première instance des arguments de ligne de commande, puis se ferme immédiatement. La première instance gère l’événement StartupNextInstance pour déterminer les arguments de ligne de commande de l’instance suivante et continue à s’exécuter.

    Ce diagramme montre comment une instance suivante signale la première instance :

    Diagramme montrant une image d’application d’instance unique.

En gérant l’événement StartupNextInstance , vous pouvez contrôler le comportement de votre application à instance unique. Par exemple, Microsoft Outlook s’exécute généralement en tant qu’application à instance unique ; lorsque Outlook est en cours d’exécution et que vous tentez de redémarrer Outlook, le focus passe à l’instance d’origine, mais une autre instance ne s’ouvre pas.

Événements dans le modèle d’application

Les événements suivants se trouvent dans le modèle d’application :

  • Démarrage de l’application. L’application déclenche l’événement Startup au démarrage. En gérant cet événement, vous pouvez ajouter du code qui initialise l’application avant le chargement du formulaire principal. L’événement Startup fournit également l’annulation de l’exécution de l’application pendant cette phase du processus de démarrage, si vous le souhaitez.

    Vous pouvez configurer l’application pour afficher un écran de démarrage pendant l’exécution du code de démarrage de l’application. Par défaut, le modèle d'application supprime l'écran de démarrage lorsque l'un des arguments /nosplash ou -nosplash de la ligne de commande est utilisé.

  • Applications à instance unique. L’événement StartupNextInstance est déclenché lorsqu’une instance suivante d’une application à instance unique démarre. L’événement transmet les arguments de ligne de commande de l’instance suivante.

  • Exceptions non gérées. Si l’application rencontre une exception non gérée, elle déclenche l’événement UnhandledException . Votre gestionnaire pour cet événement peut examiner l’exception et déterminer s’il faut continuer l’exécution.

    L’événement UnhandledException n’est pas déclenché dans certaines circonstances. Pour plus d’informations, consultez UnhandledException.

  • Modifications de connectivité réseau. Si la disponibilité du réseau de l’ordinateur change, l’application déclenche l’événement NetworkAvailabilityChanged .

    L’événement NetworkAvailabilityChanged n’est pas déclenché dans certaines circonstances. Pour plus d’informations, consultez NetworkAvailabilityChanged.

  • Arrêt de l’application. L’application fournit l’événement Shutdown pour signaler quand il est sur le point d’arrêter. Dans ce gestionnaire d’événements, vous pouvez vous assurer que les opérations dont votre application a besoin pour effectuer la fermeture et l’enregistrement, par exemple, sont terminées. Vous pouvez configurer votre application pour s’arrêter lorsque le formulaire principal se ferme ou pour arrêter uniquement lorsque tous les formulaires se ferment.

Disponibilité

Par défaut, le modèle d’application Visual Basic est disponible pour les projets Windows Forms. Si vous configurez l’application pour qu’elle utilise un autre objet de démarrage ou démarrez le code de l’application avec un objet ou une classe personnalisé Sub Main, cet objet ou cette classe peut avoir besoin de fournir une implémentation de la WindowsFormsApplicationBase classe pour utiliser le modèle d’application. Pour plus d’informations sur la modification de l’objet de démarrage, consultez Page Application, Concepteur de projets (Visual Basic).

Voir aussi