Delen via


Het Visual Basic-toepassingsmodel uitbreiden

U kunt functionaliteit toevoegen aan het toepassingsmodel door de Overridable leden van de WindowsFormsApplicationBase klasse te overschrijven. Met deze techniek kunt u het gedrag van het toepassingsmodel aanpassen en aanroepen aan uw eigen methoden toevoegen wanneer de toepassing wordt gestart en afgesloten.

Visueel overzicht van het toepassingsmodel

In deze sectie wordt de reeks functie-aanroepen visueel weergegeven in het Visual Basic Application Model. In de volgende sectie wordt het doel van elke functie in detail beschreven.

In de volgende afbeelding ziet u de aanroepvolgorde van het toepassingsmodel in een normale Visual Basic Windows Forms-toepassing. De reeks begint wanneer de Sub Main procedure de Run methode aanroept.

Diagram showing the Application Model call sequence.

Het Visual Basic-toepassingsmodel biedt ook de StartupNextInstance en UnhandledException gebeurtenissen. In de volgende afbeeldingen ziet u het mechanisme voor het genereren van deze gebeurtenissen.

Diagram showing the OnStartupNextInstance method raising the StartupNextInstance event.

Diagram showing the OnUnhandledException method raising the UnhandledException event.

De basismethoden overschrijven

De Run methode definieert de volgorde waarin de Application methoden worden uitgevoerd. Sub Main De procedure voor een Windows Forms-toepassing roept standaard de Run methode aan.

Als de toepassing een normale toepassing (toepassing met meerdere exemplaren) of het eerste exemplaar van een toepassing met één exemplaar is, voert de Run methode de Overridable methoden uit in de volgende volgorde:

  1. OnInitialize. Met deze methode worden standaard de visuele stijlen, tekstweergavestijlen en huidige principal voor de hoofdtoepassingsthread ingesteld (als de toepassing gebruikmaakt van Windows-verificatie) en worden aangeroepen ShowSplashScreen als geen /nosplash-nosplash van beide wordt gebruikt als opdrachtregelargument.

    De opstartvolgorde van de toepassing wordt geannuleerd als deze functie retourneert False. Dit kan handig zijn als er omstandigheden zijn waarin de toepassing niet mag worden uitgevoerd.

    Met OnInitialize de methode worden de volgende methoden aangeroepen:

    1. ShowSplashScreen. Bepaalt of voor de toepassing een welkomstscherm is gedefinieerd en of dit wel het geval is, wordt het welkomstscherm op een afzonderlijke thread weergegeven.

      De ShowSplashScreen methode bevat de code die het welkomstscherm weergeeft voor ten minste het aantal milliseconden dat is opgegeven door de MinimumSplashScreenDisplayTime eigenschap. Als u deze functionaliteit wilt gebruiken, moet u het welkomstscherm toevoegen aan uw toepassing met projectontwerper (waarmee de My.Application.MinimumSplashScreenDisplayTime eigenschap wordt ingesteld op twee seconden) of de My.Application.MinimumSplashScreenDisplayTime eigenschap instellen in een methode die de OnInitialize of OnCreateSplashScreen methode overschrijft. Zie MinimumSplashScreenDisplayTime voor meer informatie.

    2. OnCreateSplashScreen. Hiermee kan een ontwerper code verzenden waarmee het welkomstscherm wordt geïnitialiseerd.

      Deze methode doet standaard niets. Als u een welkomstscherm voor uw toepassing selecteert in Visual Basic Project Designer, overschrijft de ontwerper de OnCreateSplashScreen methode met een methode waarmee de SplashScreen eigenschap wordt ingesteld op een nieuw exemplaar van het welkomstschermformulier.

  2. OnStartup. Biedt een uitbreidbaarheidspunt voor het genereren van de Startup gebeurtenis. De opstartvolgorde van de toepassing stopt als deze functie retourneert False.

    Deze methode genereert standaard de Startup gebeurtenis. Als de gebeurtenis-handler de Cancel eigenschap van het gebeurtenisargument Trueinstelt op, wordt de methode geretourneerd False om het opstarten van de toepassing te annuleren.

  3. OnRun. Biedt het beginpunt voor wanneer de hoofdtoepassing klaar is om te worden uitgevoerd, nadat de initialisatie is voltooid.

    Standaard roept deze methode OnCreateMainForm de methoden (om het hoofdformulier van de toepassing te maken) en HideSplashScreen (om het welkomstscherm te sluiten) aan voordat deze de windows Forms-berichtlus binnenkomt:

    1. OnCreateMainForm. Biedt een manier voor een ontwerper om code te verzenden waarmee het hoofdformulier wordt geïnitialiseerd.

      Deze methode doet standaard niets. Wanneer u echter een hoofdformulier voor uw toepassing selecteert in Visual Basic Project Designer, overschrijft de ontwerper de OnCreateMainForm methode met een methode waarmee de MainForm eigenschap wordt ingesteld op een nieuw exemplaar van het hoofdformulier.

    2. HideSplashScreen. Als er een welkomstscherm is gedefinieerd en deze is geopend, sluit deze methode het welkomstscherm.

      Deze methode sluit standaard het welkomstscherm.

  4. OnStartupNextInstance. Biedt een manier om aan te passen hoe een toepassing met één exemplaar zich gedraagt wanneer een ander exemplaar van de toepassing wordt gestart.

    Deze methode genereert standaard de StartupNextInstance gebeurtenis.

  5. OnShutdown. Biedt een uitbreidbaarheidspunt voor het genereren van de Shutdown gebeurtenis. Deze methode wordt niet uitgevoerd als er een niet-verwerkte uitzondering optreedt in de hoofdtoepassing.

    Deze methode genereert standaard de Shutdown gebeurtenis.

  6. OnUnhandledException. Uitgevoerd als er een niet-verwerkte uitzondering optreedt in een van de bovenstaande vermelde methoden.

    Deze methode genereert standaard de UnhandledException gebeurtenis zolang er geen foutopsporingsprogramma is gekoppeld en de toepassing de UnhandledException gebeurtenis verwerkt.

Als de toepassing een toepassing met één exemplaar is en de toepassing al wordt uitgevoerd, roept het volgende exemplaar van de toepassing de OnStartupNextInstance methode aan op het oorspronkelijke exemplaar van de toepassing en wordt vervolgens afgesloten.

De OnStartupNextInstance(StartupNextInstanceEventArgs) constructor roept de UseCompatibleTextRendering eigenschap aan om te bepalen welke tekstrenderingsengine moet worden gebruikt voor de formulieren van de toepassing. De eigenschap retourneert FalsestandaardUseCompatibleTextRendering, waarmee wordt aangegeven dat de GDI-engine voor tekstweergave wordt gebruikt. Dit is de standaardinstelling in Visual Basic 2005 en latere versies. U kunt de UseCompatibleTextRendering eigenschap die moet worden geretourneerd Trueoverschrijven, wat aangeeft dat de GDI+ text rendering-engine wordt gebruikt. Dit is de standaardinstelling in Visual Basic .NET 2002 en Visual Basic .NET 2003.

De toepassing configureren

Als onderdeel van het Visual Basic Application-model biedt de WindowsFormsApplicationBase klasse beveiligde eigenschappen waarmee de toepassing wordt geconfigureerd. Deze eigenschappen moeten worden ingesteld in de constructor van de implementatieklasse.

In een standaardproject van Windows Forms maakt Project Designer code om de eigenschappen in te stellen met de ontwerpfunctie-instellingen. De eigenschappen worden alleen gebruikt wanneer de toepassing wordt gestart; instellen nadat de toepassing wordt gestart, heeft geen effect.

Eigenschappen Bepaalt Instellen in het deelvenster Toepassing van projectontwerper
IsSingleInstance Of de toepassing nu wordt uitgevoerd als een toepassing met één exemplaar of een toepassing met meerdere exemplaren. Selectievakje Toepassing met één exemplaar maken
EnableVisualStyles Als de toepassing visuele stijlen gebruikt die overeenkomen met Windows XP. Selectievakje XP-visuele stijlen inschakelen
SaveMySettingsOnExit Als de toepassing de gebruikersinstellingen van de toepassing automatisch opslaat wanneer de toepassing wordt afgesloten. Sla mijn op. Instellingen selectievakje Afsluiten
ShutdownStyle Wat ervoor zorgt dat de toepassing wordt beëindigd, bijvoorbeeld wanneer het opstartformulier wordt gesloten of wanneer het laatste formulier wordt gesloten. Lijst met afsluitmodus

Zie ook