Utöka Visual Basic-programmodellen
Du kan lägga till funktioner i programmodellen genom att åsidosätta medlemmarna i Overridable
WindowsFormsApplicationBase 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.
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.
Å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:
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:
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 angeMy.Application.MinimumSplashScreenDisplayTime
egenskapen i en metod som åsidosätter OnInitialize metoden eller OnCreateSplashScreen . Mer information finns i MinimumSplashScreenDisplayTime.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.
OnStartup. Tillhandahåller en utökningspunkt för att höja
Startup
händelsen. Programmets startsekvens stoppas om den här funktionen returnerarFalse
.Som standard genererar Startup den här metoden händelsen. Om händelsehanteraren anger Cancel egenskapen för händelseargumentet till
True
återgårFalse
metoden för att avbryta programstarten.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) ochHideSplashScreen
(för att stänga välkomstskärmen):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.
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.
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.
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.
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 False
egenskapen , 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 |