Přehled aplikačního modelu jazyka Visual Basic
Visual Basicposkytuje přesně určený model pro ovládání chování aplikací model Windows Forms: Visual Basic model aplikace.Tento model obsahuje události pro zpracování spuštění a vypnutí aplikace, stejně jako události pro zachycení neošetřených výjimek.Poskytuje taky podporu pro vývoj jedno-instančních aplikací.Aplikační model je rozšiřitelný, takže vývojáři, kteří potřebují další ovládací prvek, si můžou přizpůsobit jeho přetížitelné metody.
Použití aplikačního modelu
Typická aplikace potřebuje provádět úkoly při spuštění a vypnutí.Například při jejím spuštění, aplikace může chtít zobrazit úvodní obrazovku, vytvořit připojení k databázi, načíst uložený stav atd.Při vypnutí aplikace může zavřít databázové připojení, uložit aktuální stav a podobně.Kromě toho aplikace může provést určitý kód při neočekávaném ukončení aplikace, jako během výskytu neošetřené výjimky.
Aplikační model Visual Basic usnadňuje vytvoření jedno-instanční aplikace.Jedno-instanční aplikace se liší od běžné aplikace tím, že lze mít spuštěnou pouze jednu instanci aplikace současně.Pokus o spuštění další instance jedno-instanční aplikace má za následek, oznámení původní instanci aplikace, formou události StartupNextInstance, že byl proveden další pokus o spuštění.Oznámení zahrnuje argumenty příkazové řádky další instance.Další instance aplikace je pak uzavřen před tím, než může dojít k jakékoli inicializace.
Jedna-instanční aplikace se spustí a zkontroluje, zda jde o první instanci nebo další instanci aplikace:
Pokud jde o první instanci, spustí běžným způsobem.
Každý další pokus o spuštění aplikace, v průběhu běhu první instance, má za následek velmi odlišné chování.Pozdější pokus upozorní první instance o argumentech příkazové řádky a okamžitě se ukončí.První instance zpracuje událost StartupNextInstance k určení, co tyto argumenty příkazového řádky znamenají a pokračuje v činnosti.
Tento diagram znázorňuje, jak další instance zasílá signály první instanci.
Zpracováním události StartupNextInstance můžete řídit chování jedno-instančních aplikací.Například aplikace Microsoft Outlook je obvykle spuštěna jako jedno-instanční aplikace; když je aplikace Outlook spuštěna a vy se pokusíte spustit aplikaci Outlook znovu, je vybrána původní instance a další instance se neotevře.
Události v aplikačním modelu
Následující události se nacházejí v aplikační modelu:
Spuštění aplikace.Aplikace vyvolá událost Startup při spuštění.Při zpracování této událost, můžete přidat kód, který inicializuje aplikaci před tím, než je načten hlavní formulář.Událost Startup také poskytuje možnost zrušení provádění v průběhu této fáze procesu spuštění.
Můžete nakonfigurovat aplikaci, aby v průběhu spouštění kódu aplikace zobrazila úvodní obrazovku.Ve výchozím nastavení aplikační model potlačí úvodní obrazovku v případě, že jsou použity argumenty příkazové řádky /nosplash nebo -nosplash.
Jedno-instanční aplikace.Událost StartupNextInstance je vyvolána při spuštění následných instancí jedno-instanční aplikace.Událost předá argumenty příkazové řádky další instance.
Nezpracované výjimkyPokud aplikace narazí na nezpracovanou vyjímku, vyvolá událost UnhandledException.Vaše obslužné rutiny pro tuto událost můžou přezkoumat tuto vyjímku a určit, zda pokračovat v provádění.
Událost UnhandledException není vyvolána za určitých okolností.Další informace naleznete v tématu UnhandledException.
Změny v možnostech připojení.Pří změně dostupnosti sítě počítače, aplikace vyvolá událost NetworkAvailabilityChanged.
Událost NetworkAvailabilityChanged není vyvolána za určitých okolností.Další informace naleznete v tématu NetworkAvailabilityChanged.
Ukončení aplikace.Aplikace poskytuje událost Shutdown k notifikaci o vypnutí aplikace.V tomto zpracování vyjímek můžete zajistit, že operace, které vaše aplikace musí provést (například zavření a uložení), budou dokončeny.Můžete nakonfigurovat aplikaci k ukončení činnost při zavření hlavního formuláře nebo ji vypnout pouze případě zavření formuláře.
Dostupnost
Ve výchozím nastavení aplikační model Visual Basic je k dispozici pro prejekty modelu Windows Forms.Pokud nakonfigurujete aplikace k použití jiný spouštěcích objektů nebo k spuštění aplikačního kód s vlastní Sub Main, pak tento objekt nebo třída bude pravděpodobně muset poskytnout implementaci třídy WindowsFormsApplicationBase v případě, že chce používat aplikační model.Informace o změně spouštěcího objektu naleznete v tématu Stránka Aplikace, návrhář projektu (Visual Basic).