Přehled aplikačního modelu jazyka Visual Basic
Visual Basic poskytuje přesně určený model pro ovládání chování aplikací modelu Windows Forms: Aplikační model Visual Basic. 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ýjimky Pokud 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 Postupy: Změnit spouštěcí objekt aplikace (Visual Basic).