Dela via


Utöka Visual Basic-programmodellen

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 showing the Application Model call sequence.

Visual Basic Application Model innehåller StartupNextInstance även händelserna och UnhandledException . Följande grafik visar mekanismen för att höja dessa händelser.

Diagram showing the OnStartupNextInstance method raising the StartupNextInstance event.

Diagram showing the OnUnhandledException method raising the UnhandledException event.

Åsidosätta basmetoderna

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

Om programmet är ett normalt program (program med flera instanserOverridable) eller den första instansen Run 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 höja Startup händelsen. Programmets startsekvens stoppas om den här funktionen returnerar False.

    Som standard genererar Startup den här metoden händelsen. Om händelsehanteraren anger Cancel egenskapen för händelseargumentet till Trueåtergår False metoden 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.

    Innan den anger meddelandeloopen i Windows Forms anropar OnCreateMainForm den här metoden som standard metoderna (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 standard genererar StartupNextInstance den här metoden händelsen.

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

    Som standard genererar Shutdown den här metoden händelsen.

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

    Som standard genererar den UnhandledException här metoden händelsen så länge ett felsökningsprogram inte är kopplat 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 standard UseCompatibleTextRendering returnerar Falseegenskapen , vilket anger att GDI-textrenderingsmotorn ska användas, vilket är standardvärdet 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. när programmet startar har ingen effekt.

Property Bestämmer Inställning i programfönstret i Projektdesignern
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 programmets användarinställningar ändras när programmet avslutas. Spara min. kryssrutan Inställningar vid avstängning
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