Sdílet prostřednictvím


Rozšíření aplikačního modelu jazyka Visual Basic

Můžete přidat funkcionalitu do aplikačního modelu přetížením členů Overridable třídy WindowsFormsApplicationBase. Tato technika vám umožňuje přizpůsobit chování aplikačního modelu a také přidání volání 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 sekvenci volání funkcí v aplikačním modelu Visual Basic. V další oddíl popisuje podrobně účel jednotlivých funkcí.

Následující obrázek znázorňuje sekvenci volání aplikačního modelu v normální aplikaci Visual Basic modelu Windows Forms. Sekvence začíná když procedura Sub Main volá metodu Run.

Model aplikace Visual Basic – spuštění

Aplikační model Visual Basic také poskytuje události StartupNextInstance a UnhandledException. Následující grafiku zobrazit mechanismus pro vyvolání těchto událostí.

Model aplikace Visual Basic – další instanceModel aplikace Visual Basic – neošetřená výjimka

Přetížení základních metod

Metoda Run definuje pořadí, ve kterém se spouštějí Application metody. By ve výchozím nastavení, procedura Sub Main aplikačního modelu Windows Forms zavolá metodu Run.

Jestliže je aplikace normální aplikace (více-instanční aplikace) nebo první instance jedno-instanční aplikace, metoda Run spustí metody Overridable v uvedeném pořadí:

  1. OnInitialize. Ve výchozím nastavením, 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 zavolá ShowSplashScreen, pokud ani /nosplash ani -nosplash není nastaven jako argument příkazové řádky.

    Sekvence spouštění aplikace je zrušena v případě, že tato funkce vrátí False. To může být užitečné, pokud existují okolnosti, ve který by aplikace neměla být spuštěna.

    Metoda OnInitialize volá následující metody:

    1. ShowSplashScreen. Určuje, zda má aplikace nastavenu úvodní obrazovku a pokud ano, zobrazí úvodní obrazovku na samostatném vlákně.

      Metoda ShowSplashScreen obsahuje kód, který se zobrazí úvodní obrazovku alespoň na počet milisekund, které jsou určeny v vlastnosti MinimumSplashScreenDisplayTime. Chcete-li použít tuto funkci, musíte přidat úvodní obrazovku do vaší aplikace pomocí Návrháře projektu (který nastaví vlastnost My.Application.MinimumSplashScreenDisplayTime na hodnotu dvě sekundy), nebo nastavit vlastnost My.Application.MinimumSplashScreenDisplayTime v metodě, která přetěžuje metodu OnInitialize nebo OnCreateSplashScreen. Další informace naleznete v tématu MinimumSplashScreenDisplayTime.

    2. OnCreateSplashScreen. Umožňuje designeru vyslat kód, který inicializuje úvodní obrazovku.

      Ve výchozím nastavení tato metoda nemá žádný účinek. Pokud jste vybrali úvodní obrazovku pro vaší aplikaci v designeru projektůVisual Basic, designer přetíží metodu OnCreateSplashScreen metodou, která nastaví vlastnost SplashScreen na novou instanci úvodní obrazovky formuláře.

  2. OnStartup. Poskytuje bod rozšiřitelnosti pro zvýšení Startup událostí. Spouštění aplikace se zastaví, pokud tato funkce vrátí False.

    Ve výchozím nastavení, tato metoda vyvolá událost Startup. Pokud obslužná rutina událost nastaví vlastnost Cancel argumentu události na True, metoda vrátí hodnotu False k stornování spuštění aplikace.

  3. OnRun. Poskytuje počáteční bod pro začátek práce aplikace po tom, co proběhla inicializace.

    Ve výchozím nastavení, před tím než vstoupí do smyčka zpráv modelu Windows Forms, tato metoda volá metody OnCreateMainForm (k vytvoření hlavního formuláře aplikace) a HideSplashScreen (k zavření úvodní obrazovky):

    1. OnCreateMainForm. Umožňuje designeru vyvolat kód, který inicializuje hlavní formulář.

      Ve výchozím nastavení tato metoda nemá žádný účinek. Pokud jste vybrali hlavní formulář pro vaší aplikaci v designeru projektůVisual Basic, designer přetíží metodu OnCreateMainForm metodou, která nastaví vlastnost MainForm na novou instanci hlavního formuláře.

    2. HideSplashScreen. Pokud aplikace obsahuje úvodní obrazovku a je otevřená, tato metoda zavře úvodní obrazovku.

      Podle ve výchozím nastavení, tato metoda zavře úvodní obrazovka.

  4. OnStartupNextInstance. Umožňuje přizpůsobit chování jedno-instanční aplikace při spuštění jiné instance aplikace.

    Standardně tato metoda vyvolá StartupNextInstance událostí.

  5. OnShutdown. Poskytuje bod rozšiřitelnosti pro zvýšení Shutdown událostí. Tuto metoda nebude spuštěna pokud v hlavní aplikaci dojde k neošetřené výjimce.

    Standardně tato metoda vyvolá Shutdown událostí.

  6. OnUnhandledException. Provede se, pokud došlo v vyvolání neošetřené výjimky v některé z výše uvedených metod.

    Ve výchozím nastavení tato metoda vyvolá událost UnhandledException v případě, že ladící program není připojen a aplikace zpracovává událost UnhandledException.

Pokud aplikace je jedno-instanční aplikace a aplikace je již spuštěna, další instance aplikace zavolá metodu OnStartupNextInstance v původní instanci aplikace a potom se ukončí.

Konstruktor WindowsFormsApplicationBase zavolá vlastnost UseCompatibleTextRendering k určení, který vykreslovací modul použít u formulářů aplikace pří vykreslování textu. Ve výchozím nastavení vlastnost UseCompatibleTextRendering vrátí False. Toto znamená, že je použit GDI textový vykreslovací modul, což je výchozí hodnota v Visual Basic 2005. Můžete přepsat UseCompatibleTextRendering vlastnost vrátí True, která označuje, že modul vykreslování textu GDI + použít, výchozí v jazyce Visual Basic.NET 2002 a Visual Basic.NET 2003.

Konfigurace aplikace

Jako součást aplikačního modelu Visual Basic, třída WindowsFormsApplicationBase poskytuje chráněné vlastnosti, které konfigurují aplikaci. Tyto vlastnosti by měla být nastavena v konstruktoru implementované třídy.

Ve výchozím projektu model Windows Forms, Návrhář projektu vytvoří kód k nastavení vlastností s výchozím nastavením designeru. Vlastnosti jsou používána pouze při spouštění aplikace a jejich nastavení po spuštění aplikace nemá žádný vliv.

Vlastnost

Význam

Nastavení pomocí Návrháře projektu

IsSingleInstance

Určuje, zda aplikace bude spuštěna jako jedno-instanční nebo více-instanční aplikace.

Postupy: Specifikace chování vytváření instancí pro aplikace (Visual Basic)

EnableVisualStyles

Zda aplikace bude používat vizuální styly XP.

Postupy: Povolení vizuálních stylů (Visual Basic)

SaveMySettingsOnExit

Zda aplikace automaticky uloží změny nastavení uživatele při ukončení aplikace.

Vyberte zaškrtávací políčko Uložit My.Settings při vypnutí v podokně Aplikace v Návrháři projektu.

ShutdownStyle

Co způsobuje, že je aplikace ukončena, například při zavření hlavního formuláře nebo kdy dojde k zavření všech formulářů.

Postupy: Specifikace chování při vypnutí pro aplikaci (Visual Basic)

Viz také

Odkaz

ApplicationBase

Startup

StartupNextInstance

UnhandledException

Shutdown

NetworkAvailabilityChanged

WindowsFormsApplicationBase

Koncepty

Přehled aplikačního modelu jazyka Visual Basic