Utöka Visual Basic-applikationsmodellen

Du kan lägga till funktioner i programmodellen genom att åsidosätta medlemmarna i OverridableWindowsFormsApplicationBase klassen. Med den här tekniken kan du anpassa beteendet för programmodellen och lägga till anrop till dina egna metoder när programmet startas och stängs av.

Visuell översikt över programmodellen

Det här avsnittet visar visuellt sekvensen av funktionsanrop i Visual Basic Application Model. I nästa avsnitt beskrivs syftet med varje funktion i detalj.

Följande bild visar programmodellens anropssekvens i ett normalt Visual Basic Windows Forms-program. Sekvensen startar när proceduren Sub Main anropar Run metoden.

Diagram som visar programmodellens anropssekvens.

Visual Basic Application Model tillhandahåller också StartupNextInstance och UnhandledException-händelser. Följande grafik visar mekanismen för att utlösa dessa händelser.

Diagram som visar metoden OnStartupNextInstance som lyfter händelsen StartupNextInstance.

Diagram som visar metoden OnUnhandledException som lyfter händelsen UnhandledException.

Åsidosätta basmetoderna

Metoden Run definierar i vilken Application ordning metoderna körs. Som förvald anropar proceduren Sub Main metoden Run för ett Windows Forms-program.

Om programmet är ett normalt program (program med flera instanserRun) eller den första instansen Overridable av ett program med en enda instans kör metoden metoderna i följande ordning:

  1. OnInitialize. Som standard anger den här metoden visuella format, textvisningsformat och aktuellt huvudobjekt för huvudprogramtråden (om programmet använder Windows-autentisering) och anropar ShowSplashScreen om varken /nosplash eller -nosplash används som kommandoradsargument.

    Startsekvensen för programmet avbryts om den här funktionen returnerar False. Detta kan vara användbart om det finns omständigheter då programmet inte ska köras.

    Metoden OnInitialize anropar följande metoder:

    1. ShowSplashScreen. Avgör om programmet har en definierad välkomstskärm och om det gör det visas välkomstskärmen på en separat tråd.

      Metoden ShowSplashScreen innehåller den kod som visar välkomstskärmen för minst det antal millisekunder som anges av MinimumSplashScreenDisplayTime egenskapen. Om du vill använda den här funktionen måste du lägga till välkomstskärmen i ditt program med hjälp av Project Designer (som anger My.Application.MinimumSplashScreenDisplayTime egenskapen till två sekunder) eller ange My.Application.MinimumSplashScreenDisplayTime egenskapen i en metod som åsidosätter OnInitialize metoden eller OnCreateSplashScreen . Mer information finns i MinimumSplashScreenDisplayTime.

    2. OnCreateSplashScreen. Gör att en designer kan generera kod som initierar välkomstskärmen.

      Som standard gör den här metoden ingenting. Om du väljer en välkomstskärm för ditt program i Visual Basic Project Designer åsidosätter designern OnCreateSplashScreen metoden med en metod som anger SplashScreen egenskapen till en ny instans av välkomstskärmsformuläret.

  2. OnStartup. Tillhandahåller en utökningspunkt för att utlösa Startup-händelsen. Programmets startsekvens stoppas om den här funktionen returnerar False.

    Som standardinställning genererar den här metoden Startup händelsen. Om händelsehanteraren sätter den Cancel egenskapen för händelseargumentet till True, returnerar metoden False för att avbryta programstarten.

  3. OnRun. Anger startpunkten för när huvudprogrammet är redo att börja köras när initieringen är klar.

    Som standard, innan den går in i meddelandeloopen i Windows Forms, anropar den här metoden OnCreateMainForm (för att skapa programmets huvudformulär) och HideSplashScreen (för att stänga välkomstskärmen):

    1. OnCreateMainForm. Ger ett sätt för en designer att generera kod som initierar huvudformuläret.

      Som standard gör den här metoden ingenting. Men när du väljer ett huvudformulär för ditt program i Visual Basic Project Designer åsidosätter designern OnCreateMainForm metoden med en metod som anger MainForm egenskapen till en ny instans av huvudformuläret.

    2. HideSplashScreen. Om programmet har definierat en välkomstskärm och den är öppen stänger den här metoden välkomstskärmen.

      Som standard stänger den här metoden välkomstskärmen.

  4. OnStartupNextInstance. Ger ett sätt att anpassa hur ett program med en enda instans beter sig när en annan instans av programmet startar.

    Som standardinställning genererar den här metoden StartupNextInstance händelsen.

  5. OnShutdown. Tillhandahåller en utökningspunkt för att utlösa Shutdown-händelsen. Den här metoden körs inte om ett ohanterat undantag inträffar i huvudprogrammet.

    Som standardinställning genererar den här metoden Shutdown händelsen.

  6. OnUnhandledException. Körs om ett ohanterat undantag inträffar i någon av ovanstående metoder.

    Normalt genererar den här metoden UnhandledException-händelsen så länge en debugger inte är kopplad och programmet hanterar UnhandledException-händelsen.

Om programmet är ett program med en enda instans och programmet redan körs anropar OnStartupNextInstance den efterföljande instansen av programmet metoden på den ursprungliga instansen av programmet och avslutar sedan.

Konstruktorn OnStartupNextInstance(StartupNextInstanceEventArgs) anropar UseCompatibleTextRendering egenskapen för att avgöra vilken textrenderingsmotor som ska användas för programmets formulär. Som standardinställning returnerar egenskapen UseCompatibleTextRenderingFalse, vilket anger att GDI-textrenderingsmotorn ska användas, vilket är standardinställningen i Visual Basic 2005 och senare versioner. Du kan åsidosätta UseCompatibleTextRendering egenskapen för att returnera True, vilket anger att GDI+ textrenderingsmotorn ska användas, vilket är standardvärdet i Visual Basic .NET 2002 och Visual Basic .NET 2003.

Konfigurera programmet

Som en del av Visual Basic Application-modellen WindowsFormsApplicationBase tillhandahåller klassen skyddade egenskaper som konfigurerar programmet. Dessa egenskaper bör anges i konstruktorn för implementeringsklassen.

I ett standardprojekt för Windows Forms skapar Projektdesignern kod för att ange egenskaperna med designerinställningarna. Egenskaperna används endast när programmet startas och att ställa in dem efter att programmet har startat har ingen effekt.

Fastighet Bestämmer Inställning i applikationsfönstret i Projekt Designern
IsSingleInstance Om programmet körs som en enskild instans eller ett program med flera instanser. Kryssrutan Gör ett program med en instans
EnableVisualStyles Om programmet ska använda visuella format som matchar Windows XP. Kryssrutan Aktivera visuella XP-formatmallar
SaveMySettingsOnExit Om programmet automatiskt sparar ändringar i användarinställningarna när programmet avslutas. Spara My.Settings vid avstängning kryssruta
ShutdownStyle Vad gör att programmet avslutas, till exempel när startformuläret stängs eller när det sista formuläret stängs. Lista över avstängningsläge

Se även