Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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
StartupNextInstanceesemé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 kiváltja az Startup eseményt, amikor elindul. 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
Startupesemé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
/nosplashvagy-nosplashparancssori argumentum használatakor.Egyetlen példányú 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
UnhandledExceptionesemény bizonyos körülmények között nem merül fel. További információért lásd 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
NetworkAvailabilityChangedesemény bizonyos körülmények között nem merül fel. További információért lásd 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 Mainindí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ával kapcsolatos információkért lásd: Application Page, Project Designer (Visual Basic).