Rozšíření aplikačního modelu jazyka Visual Basic
Do aplikačního modelu můžete přidat funkce přepsáním Overridable
členů WindowsFormsApplicationBase třídy. Tato technika umožňuje přizpůsobit chování aplikačního modelu a přidat volání do vlastních metod při spuštění a vypnutí aplikace.
Vizuální přehled aplikačního modelu
Tato část vizuálně představuje posloupnost volání funkcí v aplikačním modelu jazyka Visual Basic. Další část podrobně popisuje účel každé funkce.
Následující obrázek znázorňuje posloupnost volání modelu aplikace v normální aplikaci visual basicu model Windows Forms. Sekvence se spustí, když procedura Sub Main
volá metodu Run .
Aplikační model jazyka Visual Basic také poskytuje StartupNextInstance události a UnhandledException události. Následující grafika ukazuje mechanismus pro vyvolání těchto událostí.
Přepsání základních metod
Metoda Run definuje pořadí, ve kterém se Application
metody spouští. Ve výchozím nastavení procedura Sub Main
model Windows Forms aplikace volá metoduRun.
Pokud je aplikace normální aplikací (aplikace s více instancemi) nebo první instancí aplikace s jednou instancí, Run metoda provede Overridable
metody v následujícím pořadí:
OnInitialize. Ve výchozím nastavení tato metoda nastaví vizuální styly, styly zobrazení textu a aktuální objekt zabezpečení pro hlavní vlákno aplikace (pokud aplikace používá ověřování systému Windows) a volá,
ShowSplashScreen
pokud se ani/nosplash
-nosplash
nepoužívá jako argument příkazového řádku.Spouštěcí sekvence aplikace je zrušena, pokud tato funkce vrátí
False
. To může být užitečné, pokud existují okolnosti, ve kterých by aplikace neměla běžet.Metoda OnInitialize volá následující metody:
ShowSplashScreen. Určuje, jestli má aplikace definovanou úvodní obrazovku a pokud ano, zobrazí úvodní obrazovku na samostatném vlákně.
Metoda ShowSplashScreen obsahuje kód, který zobrazuje úvodní obrazovku alespoň pro počet milisekund určených MinimumSplashScreenDisplayTime vlastností. Chcete-li tuto funkci použít, musíte do aplikace přidat úvodní obrazovku pomocí Návrháře projektu (který nastaví
My.Application.MinimumSplashScreenDisplayTime
vlastnost na dvě sekundy) nebo nastavitMy.Application.MinimumSplashScreenDisplayTime
vlastnost v metodě, která přepíše OnInitialize nebo OnCreateSplashScreen metodu. Další informace najdete na webu MinimumSplashScreenDisplayTime.OnCreateSplashScreen. Umožňuje návrháři vygenerovat kód, který inicializuje úvodní obrazovku.
Ve výchozím nastavení tato metoda nedělá nic. Pokud vyberete úvodní obrazovku pro aplikaci v Návrháři projektu jazyka Visual Basic, návrhář přepíše OnCreateSplashScreen metodu metodou, která nastaví SplashScreen vlastnost na novou instanci formuláře úvodní obrazovky.
OnStartup. Poskytuje bod rozšiřitelnosti pro vyvolání
Startup
události. Spouštěcí sekvence aplikace se zastaví, pokud tato funkce vrátíFalse
.Ve výchozím nastavení tato metoda vyvolá Startup událost. Pokud obslužná rutina události nastaví Cancel vlastnost argumentu
True
události , metoda vrátíFalse
zrušení spuštění aplikace.OnRun. Poskytuje výchozí bod, kdy je hlavní aplikace připravena spustit po dokončení inicializace.
Ve výchozím nastavení před vstupem do smyčky zpráv model Windows Forms tato metoda volá
OnCreateMainForm
metody (k vytvoření hlavního formuláře aplikace) aHideSplashScreen
(pro zavření úvodní obrazovky):OnCreateMainForm. Poskytuje způsob, jak návrhář vygenerovat kód, který inicializuje hlavní formulář.
Ve výchozím nastavení tato metoda nedělá nic. Pokud však vyberete hlavní formulář pro aplikaci v návrháři projektu jazyka Visual Basic, návrhář přepíše OnCreateMainForm metodu metodou, která nastaví MainForm vlastnost na novou instanci hlavního formuláře.
HideSplashScreen. Pokud má aplikace definovanou úvodní obrazovku a je otevřená, tato metoda úvodní obrazovku zavře.
Ve výchozím nastavení tato metoda zavře úvodní obrazovku.
OnStartupNextInstance. Poskytuje způsob, jak přizpůsobit chování aplikace s jednou instancí při spuštění jiné instance aplikace.
Ve výchozím nastavení tato metoda vyvolá StartupNextInstance událost.
OnShutdown. Poskytuje bod rozšiřitelnosti pro vyvolání
Shutdown
události. Tato metoda se nespustí, pokud v hlavní aplikaci dojde k neošetřené výjimce.Ve výchozím nastavení tato metoda vyvolá Shutdown událost.
OnUnhandledException. Provede se, pokud dojde k neošetřené výjimce v některé z výše uvedených metod.
Ve výchozím nastavení tato metoda vyvolá UnhandledException událost, pokud ladicí program není připojen a aplikace zpracovává
UnhandledException
událost.
Pokud je aplikace aplikací s jednou instancí a aplikace je již spuštěna, následná instance aplikace volá OnStartupNextInstance metodu na původní instanci aplikace a poté se ukončí.
Konstruktor OnStartupNextInstance(StartupNextInstanceEventArgs) volá UseCompatibleTextRendering vlastnost, která určuje, který textový vykreslovací modul se má použít pro formuláře aplikace. Ve výchozím nastavení vrátí vlastnost False
označující, UseCompatibleTextRendering že se používá vykreslovací modul pro vykreslování textu GDI, což je výchozí v jazyce Visual Basic 2005 a novějších verzích. Můžete přepsat UseCompatibleTextRendering vlastnost vrátit True
, což označuje, že se používá vykreslovací modul GDI+ textu, což je výchozí hodnota v jazyce Visual Basic .NET 2002 a Visual Basic .NET 2003.
Konfigurace aplikace
V rámci modelu WindowsFormsApplicationBase aplikace jazyka Visual Basic poskytuje třída chráněné vlastnosti, které konfiguruje aplikaci. Tyto vlastnosti by měly být nastaveny v konstruktoru implementovací třídy.
Ve výchozím model Windows Forms projektu vytvoří Návrhář projektu kód pro nastavení vlastností pomocí nastavení návrháře. Vlastnosti se používají pouze při spuštění aplikace; nastavení po spuštění aplikace nemá žádný vliv.
Vlastnost | Určuje | Nastavení v podokně Aplikace návrháře projektu |
---|---|---|
IsSingleInstance | Určuje, jestli aplikace běží jako jedna instance nebo aplikace s více instancemi. | Zaškrtávací políčko Nastavit aplikaci s jednou instancí |
EnableVisualStyles | Pokud aplikace bude používat vizuální styly, které odpovídají systému Windows XP. | Zaškrtávací políčko Povolit styly vizuálů XP |
SaveMySettingsOnExit | Pokud aplikace při ukončení aplikace automaticky uloží změny uživatelského nastavení aplikace. | Uložit můj. Nastavení při vypnutí |
ShutdownStyle | Co způsobí ukončení aplikace, například při zavření spouštěcího formuláře nebo při zavření posledního formuláře. | Seznam režimů vypnutí |