A Visual Basic alkalmazásmodell áttekintése
A Visual Basic egy jól definiált modellt biztosít a Windows Forms-alkalmazások viselkedésének szabályozásához: a Visual Basic alkalmazásmodellt. Ez a modell az alkalmazás indítási és leállítási eseményeit, valamint a kezeletlen kivételeket észlelő eseményeket tartalmazza. Támogatást nyújt az egypéldányos alkalmazások fejlesztéséhez is. Az alkalmazásmodell bővíthető, így a több vezérlést igénylő fejlesztők testre szabhatják a felülírható metódusokat.
Az alkalmazásmodell felhasználási módjai
Egy tipikus alkalmazásnak el kell végeznie a feladatokat, amikor elindul és leáll. Az indításkor például az alkalmazás megjeleníthet egy kezdőképernyőt, adatbázis-kapcsolatokat létesíthet, betölthet egy mentett állapotot stb. Amikor az alkalmazás leáll, bezárhatja az adatbázis-kapcsolatokat, mentheti az aktuális állapotot stb. Emellett az alkalmazás bizonyos kódot is végrehajthat, amikor az alkalmazás váratlanul leáll, például egy kezeletlen kivétel során.
A Visual Basic alkalmazásmodell megkönnyíti az egypéldányos alkalmazások létrehozását. Az egypéldányos alkalmazások abban különböznek a normál alkalmazásoktól, hogy egyszerre csak az alkalmazás egy példánya futtatható. Egy egypéldányos alkalmazás egy másik példányának elindítására tett kísérlet azt eredményezi, hogy az eredeti példány értesítést kap – az StartupNextInstance
esemény révén – arról, hogy újabb indítási kísérlet történt. Az értesítés tartalmazza a következő példány parancssori argumentumait. Az alkalmazás későbbi példánya ezután bezárul, mielőtt bármilyen inicializálás következne.
Egy egypéldányos alkalmazás indul el, és ellenőrzi, hogy az alkalmazás első vagy későbbi példánya-e:
Ha ez az első példány, akkor a szokásos módon kezdődik.
Minden további kísérlet az alkalmazás elindítására, miközben az első példány fut, nagyon eltérő viselkedést eredményez. Az ezt követő kísérlet értesíti az első példányt a parancssori argumentumokról, majd azonnal kilép. Az első példány kezeli az
StartupNextInstance
eseményt annak megállapításához, hogy a következő példány parancssori argumentumai milyenek voltak, és továbbra is futnak.Ez az ábra azt mutatja be, hogy egy későbbi példány hogyan jelzi az első példányt:
Az StartupNextInstance
esemény kezelésével szabályozhatja az egypéldányos alkalmazás viselkedését. A Microsoft Outlook például általában egypéldányos alkalmazásként fut; Amikor az Outlook fut, és megpróbálja újra elindítani az Outlookot, a fókusz az eredeti példányra kerül, de egy másik példány nem nyílik meg.
Események az alkalmazásmodellben
Az alkalmazásmodell a következő eseményeket tartalmazza:
Alkalmazás indítása. Az alkalmazás elindítja az Startup eseményt. Az esemény kezelésével olyan kódot adhat hozzá, amely inicializálja az alkalmazást a főűrlap betöltése előtt. Az
Startup
esemény azt is lehetővé teszi, hogy szükség esetén az indítási folyamat ezen szakaszában megszakítsa az alkalmazás végrehajtását.Konfigurálhatja az alkalmazást úgy, hogy megjelenítsen egy kezdőképernyőt az alkalmazás indítási kódjának futtatása közben. Alapértelmezés szerint az alkalmazásmodell letiltja a kezdőképernyőt a parancssori vagy
-nosplash
a/nosplash
parancssori argumentum használatakor.Egypéldányos alkalmazások. Az StartupNextInstance esemény akkor jön létre, amikor egy egypéldányos alkalmazás egy későbbi példánya elindul. Az esemény átadja a következő példány parancssori argumentumait.
Kezeletlen kivételek. Ha az alkalmazás kezeletlen kivételt tapasztal, az eseményt emeli ki UnhandledException . Az esemény kezelője megvizsgálhatja a kivételt, és meghatározhatja, hogy folytatja-e a végrehajtást.
Az
UnhandledException
esemény bizonyos körülmények között nem merül fel. További információ: UnhandledException.Hálózati kapcsolat változásai. Ha a számítógép hálózati rendelkezésre állása megváltozik, az alkalmazás aktiválja az eseményt NetworkAvailabilityChanged .
Az
NetworkAvailabilityChanged
esemény bizonyos körülmények között nem merül fel. További információ: NetworkAvailabilityChanged.Az alkalmazás le van állítva. Az alkalmazás jelzi az Shutdown eseményt, amikor le fog állni. Ebben az eseménykezelőben meggyőződhet arról, hogy az alkalmazás által végrehajtandó műveletek ( például a zárás és a mentés) befejeződnek. Beállíthatja, hogy az alkalmazás leálljon a fő űrlap bezárásakor, vagy csak akkor, ha az összes űrlap bezárul.
Elérhetőség
Alapértelmezés szerint a Visual Basic alkalmazásmodell windowsos űrlapprojektekhez érhető el. Ha úgy konfigurálja az alkalmazást, hogy egy másik indítási objektumot használjon, vagy egyénivel Sub Main
indítsa el az alkalmazáskódot, akkor előfordulhat, hogy az adott objektumnak vagy osztálynak biztosítania kell az WindowsFormsApplicationBase osztály implementációját az alkalmazásmodell használatához. Az indítási objektum módosításáról további információt az Application Page, Project Tervező (Visual Basic) című témakörben talál.