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 .

Diagram showing the Application Model call sequence.

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í.

Diagram showing the OnStartupNextInstance method raising the StartupNextInstance event.

Diagram showing the OnUnhandledException method raising the UnhandledException event.

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í:

  1. 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:

    1. 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 nastavit My.Application.MinimumSplashScreenDisplayTime vlastnost v metodě, která přepíše OnInitialize nebo OnCreateSplashScreen metodu. Další informace najdete na webu MinimumSplashScreenDisplayTime.

    2. 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.

  2. 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 Trueudálosti , metoda vrátí False zrušení spuštění aplikace.

  3. 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) a HideSplashScreen (pro zavření úvodní obrazovky):

    1. 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.

    2. 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.

  4. 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.

  5. 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.

  6. 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 Falseoznač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í

Viz také