Přehled aplikačního modelu jazyka Visual Basic
Visual Basic poskytuje dobře definovaný model pro řízení chování model Windows Forms aplikací: aplikační model jazyka Visual Basic. Tento model zahrnuje události pro zpracování spuštění a vypnutí aplikace a také události pro zachycení neošetřených výjimek. Poskytuje také podporu pro vývoj aplikací s jednou instancí. Aplikační model je rozšiřitelný, takže vývojáři, kteří potřebují větší kontrolu, mohou přizpůsobit své přepisovatelné metody.
Používá se pro aplikační model.
Typická aplikace musí při spuštění a vypínání provádět úlohy. Když se například spustí, může aplikace zobrazit úvodní obrazovku, nastavit připojení k databázi, načíst uložený stav atd. Když se aplikace vypne, může zavřít připojení k databázi, uložit aktuální stav atd. Kromě toho může aplikace spustit konkrétní kód, když se aplikace neočekávaně vypne, například během neošetřené výjimky.
Model aplikace v jazyce Visual Basic usnadňuje vytvoření aplikace s jednou instancí . Aplikace s jednou instancí se liší od normální aplikace v tom, že najednou může běžet jenom jedna instance aplikace. Při pokusu o spuštění jiné instance aplikace s jednou instancí dojde k oznámení původní instance prostřednictvím StartupNextInstance
události, že došlo k dalšímu pokusu o spuštění. Oznámení obsahuje argumenty příkazového řádku následující instance. Následující instance aplikace je pak uzavřena před inicializací může dojít.
Aplikace s jednou instancí se spustí a zkontroluje, jestli se jedná o první instanci nebo další instanci aplikace:
Pokud se jedná o první instanci, spustí se obvyklým způsobem.
Každý další pokus o spuštění aplikace, zatímco první instance běží, má za následek velmi odlišné chování. Následující pokus upozorní první instanci na argumenty příkazového řádku a okamžitě se ukončí. První instance zpracovává
StartupNextInstance
událost, aby určila, jaké byly argumenty příkazového řádku následující instance, a pokračuje ve spuštění.Tento diagram znázorňuje, jak následující instance signalizuje první instanci:
StartupNextInstance
Zpracováním události můžete řídit, jak se vaše aplikace s jednou instancí chová. Například Microsoft Outlook obvykle běží jako aplikace s jednou instancí; Když je Outlook spuštěný a pokusíte se spustit Outlook znovu, fokus se přesune na původní instanci, ale jiná instance se neotevře.
Události v aplikačním modelu
V modelu aplikace se nacházejí následující události:
Spuštění aplikace Aplikace vyvolá Startup událost při spuštění. Při zpracování této události můžete přidat kód, který inicializuje aplikaci před načtením hlavního formuláře. Událost
Startup
také poskytuje zrušení provádění aplikace během této fáze procesu spuštění, pokud je to žádoucí.Aplikaci můžete nakonfigurovat tak, aby zobrazovala úvodní obrazovku při spuštění kódu aplikace. Ve výchozím nastavení model aplikace potlačí úvodní obrazovku při použití argumentu příkazového řádku nebo
-nosplash
argumentu příkazového/nosplash
řádku.Jedno instance aplikací. Událost StartupNextInstance se vyvolá, když se spustí následná instance aplikace s jednou instancí. Událost předá argumenty příkazového řádku následující instance.
Neošetřené výjimky. Pokud aplikace narazí na neošetřenou výjimku, vyvolá UnhandledException událost. Vaše obslužná rutina pro tuto událost může prozkoumat výjimku a určit, zda se má pokračovat v provádění.
Událost
UnhandledException
není vyvolána za určitých okolností. Další informace najdete na webu UnhandledException.Změny připojení k síti Pokud se změní dostupnost sítě počítače, aplikace vyvolá NetworkAvailabilityChanged událost.
Událost
NetworkAvailabilityChanged
není vyvolána za určitých okolností. Další informace najdete na webu NetworkAvailabilityChanged.Aplikace se vypne. Aplikace poskytuje Shutdown událost, která signalizují, kdy se chystá vypnout. V této obslužné rutině události se můžete ujistit, že jsou dokončené operace, které vaše aplikace potřebuje– například zavřít a uložit. Aplikaci můžete nakonfigurovat tak, aby se vypnula, když se hlavní formulář zavře nebo když se zavře všechny formuláře.
Dostupnost
Ve výchozím nastavení je model aplikace Jazyka Visual Basic k dispozici pro model Windows Forms projekty. Pokud nakonfigurujete aplikaci tak, aby používala jiný spouštěcí objekt, nebo spustíte kód aplikace s vlastním Sub Main
, pak tento objekt nebo třída může potřebovat poskytnout implementaci WindowsFormsApplicationBase třídy pro použití aplikačního modelu. Informace o změně spouštěcího objektu naleznete v tématu Stránka aplikace, Návrhář projektu (Visual Basic).