Megosztás a következőn keresztül:


A Visual Basic alkalmazásmodell kiterjesztése

Az alkalmazásmodellhez funkciókat adhat hozzá az osztály Overridable tagjainak WindowsFormsApplicationBase felülbírálásával. Ezzel a technikával testre szabhatja az alkalmazásmodell viselkedését, és hívásokat adhat hozzá a saját metódusaihoz az alkalmazás indításakor és leállásakor.

Az alkalmazásmodell vizuális áttekintése

Ez a szakasz vizuálisan bemutatja a függvényhívások sorozatát a Visual Basic alkalmazásmodellben. A következő szakasz részletesen ismerteti az egyes függvények célját.

Az alábbi ábra egy normál Visual Basic Windows Forms-alkalmazásban mutatja be az alkalmazásmodell hívásütemezését. A sorrend akkor indul el, amikor az Sub Main eljárás meghívja a metódust Run .

Az alkalmazásmodell hívásütemezését bemutató ábra.

A Visual Basic alkalmazásmodell a StartupNextInstance és UnhandledException eseményeket is biztosítja. Az alábbi ábrák ezeknek az eseményeknek a kiváltásához szükséges mechanizmust mutatják be.

A StartupNextInstance eseményt emelő OnStartupNextInstance metódust bemutató ábra.

A Nem kezeltException eseményt növelő OnUnhandledException metódust bemutató ábra.

Az alapmódszerek felülírása

A Run metódus határozza meg a metódusok futtatásának sorrendjét Application . Alapértelmezés szerint a Windows Forms-alkalmazások eljárása meghívja a Sub Main metódust.

Ha az alkalmazás egy normál alkalmazás (többpéldányos alkalmazás), vagy egy egypéldányos alkalmazás első példánya, a metódus az Run alábbi sorrendben hajtja végre a Overridable metódusokat:

  1. OnInitialize. Ez a módszer alapértelmezés szerint beállítja a fő alkalmazásszál vizuális stílusait, szövegmegjelenítési stílusait és a jelenlegi Principal objektumot (ha az alkalmazás Windows-hitelesítést használ), és meghívja ShowSplashScreen, ha sem /nosplash, sem -nosplash nincs használva parancssori argumentumként.

    Az alkalmazás indítási sorozata megszakad, ha ez a függvény visszatér False. Ez akkor lehet hasznos, ha vannak olyan körülmények, amikor az alkalmazás nem fut.

    A OnInitialize metódus a következő metódusokat hívja meg:

    1. ShowSplashScreen. Meghatározza, hogy az alkalmazás rendelkezik-e kezdőképernyővel, és ha igen, külön szálon jeleníti-e meg a kezdőképernyőt.

      A ShowSplashScreen metódus tartalmazza azt a kódot, amely megjeleníti a kezdőképernyőt legalább annyi ezredmásodpercig, amennyit a MinimumSplashScreenDisplayTime tulajdonság meghatároz. A funkció használatához hozzá kell adnia a kezdőképernyőt az alkalmazáshoz a Project Designerrel (amely két másodpercre állítja a My.Application.MinimumSplashScreenDisplayTime tulajdonságot), vagy olyan metódusban kell beállítania a My.Application.MinimumSplashScreenDisplayTime tulajdonságot, amely felülírja a OnInitialize metódust.OnCreateSplashScreen További információért lásd MinimumSplashScreenDisplayTime.

    2. OnCreateSplashScreen. Lehetővé teszi, hogy a tervező olyan kódot bocsátjon ki, amely inicializálja a kezdőképernyőt.

      Alapértelmezés szerint ez a metódus nem tesz semmit. Ha kiválaszt egy kezdőképernyőt az alkalmazáshoz a Visual Basic Project Designerben, a tervező felülírja a OnCreateSplashScreen metódust egy olyan metódussal, amely a tulajdonságot a SplashScreen kezdőképernyős űrlap új példányára állítja.

  2. OnStartup. Bővíthetőségi pontot biztosít az Startup esemény növeléséhez. Az alkalmazás indítási sorrendje leáll, ha ez a függvény visszatér False.

    Alapértelmezés szerint ez a metódus növeli az eseményt Startup . Ha az eseménykezelő az Cancel eseményargumentum True tulajdonságát állítja be, a metódus visszatér False az alkalmazás indításának megszakítására.

  3. OnRun. Azt a kezdőpontot adja meg, amikor a fő alkalmazás készen áll a futtatásra az inicializálás befejezése után.

    Alapértelmezés szerint, mielőtt belép a Windows Forms üzenethurkába, ez a metódus meghívja a OnCreateMainForm (az alkalmazás fő űrlapjának létrehozásához) és HideSplashScreen (a kezdőképernyő bezárásához) metódusokat:

    1. OnCreateMainForm. Lehetővé teszi, hogy a tervező olyan kódot bocsátjon ki, amely inicializálja a fő űrlapot.

      Alapértelmezés szerint ez a metódus nem tesz semmit. Amikor azonban kiválaszt egy fő űrlapot az alkalmazáshoz a Visual Basic Project Designerben, a tervező felülírja a OnCreateMainForm metódust egy olyan metódussal, amely a MainForm tulajdonságot a főűrlap új példányára állítja.

    2. HideSplashScreen. Ha az alkalmazás rendelkezik egy kezdőképernyővel, és meg van nyitva, ez a metódus bezárja a kezdőképernyőt.

      Ez a módszer alapértelmezés szerint bezárja a kezdőképernyőt.

  4. OnStartupNextInstance. Lehetővé teszi az egypéldányos alkalmazások viselkedésének testreszabását az alkalmazás egy másik példányának indításakor.

    Alapértelmezés szerint ez a metódus növeli az eseményt StartupNextInstance .

  5. OnShutdown. Bővíthetőségi pontot biztosít az Shutdown esemény növeléséhez. Ez a módszer nem fut, ha a fő alkalmazásban nem kezelt kivétel történik.

    Alapértelmezés szerint ez a metódus növeli az eseményt Shutdown .

  6. OnUnhandledException. Akkor lesz végrehajtva, ha a fenti módszerek bármelyikében nem kezelt kivétel történik.

    Ez a módszer alapértelmezés szerint addig aktiválja az UnhandledException eseményt, amíg egy hibakereső nincs csatolva, és az alkalmazás kezeli a UnhandledException eseményt.

Ha az alkalmazás egypéldányos alkalmazás, és az alkalmazás már fut, az alkalmazás későbbi példánya meghívja a OnStartupNextInstance metódust az alkalmazás eredeti példányán, majd kilép.

A OnStartupNextInstance(StartupNextInstanceEventArgs) konstruktor meghívja a tulajdonságot annak UseCompatibleTextRendering meghatározására, hogy melyik szövegmegjelenítő motort használja az alkalmazás űrlapjaihoz. Alapértelmezés szerint a UseCompatibleTextRendering tulajdonság a False értéket adja vissza, jelezve, hogy a GDI szövegmegjelenítő motor használata történik, amely a Visual Basic 2005 és az újabb verziók alapértelmezett beállítása. Felülbírálhatja a UseCompatibleTextRendering tulajdonságot, hogy a True értéket adja vissza. Ez azt jelzi, hogy a GDI+ szövegmegjelenítő motort kell használni, amely alapértelmezetten a Visual Basic .NET 2002 és a Visual Basic .NET 2003 rendszerekben van beállítva.

Az alkalmazás konfigurálása

A Visual Basic alkalmazásmodell részeként az WindowsFormsApplicationBase osztály védett tulajdonságokat biztosít, amelyek konfigurálják az alkalmazást. Ezeket a tulajdonságokat a implementálási osztály konstruktorában kell beállítani.

Egy alapértelmezett Windows Forms-projektben a Project Designer létrehoz egy kódot a tulajdonságok tervezőbeállításokkal való beállításához. A tulajdonságokat csak az alkalmazás indításakor használja a rendszer; az alkalmazás elindítása után történő beállításnak nincs hatása.

Ingatlan Meghatározza Beállítás a Projekttervező Alkalmazás paneljén
IsSingleInstance Függetlenül attól, hogy az alkalmazás egypéldányos vagy többpéldányos alkalmazásként fut-e. Egypéldányos alkalmazás létrehozása jelölőnégyzet
EnableVisualStyles Ha az alkalmazás Windows XP-nek megfelelő vizuális stílusokat fog használni. XP vizuális stílusok engedélyezése jelölőnégyzet
SaveMySettingsOnExit Ha az alkalmazás automatikusan menti az alkalmazás felhasználói beállításait, amikor az alkalmazás kilép. My.Settings mentése a leállításkor jelölőnégyzet
ShutdownStyle Mi okozza az alkalmazás leállását, például amikor az indítási űrlap bezárul, vagy amikor az utolsó űrlap bezárul. Leállítási mód listája

Lásd még