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.
Egyéni vezérlők létrehozásakor gyakran szükséges a tervezési idejű viselkedés hibakeresése. Ez különösen akkor igaz, ha saját tervezőt készít a saját vezérlőhöz. További részletekért tekintse meg útmutatót: A Visual Studio Design-Time szolgáltatásokelőnyeit kihasználó Windows Forms-vezérlő létrehozása.
Az egyéni vezérlőket a Visual Studióval is hibakereséssel végezheti el, ugyanúgy, mint bármely más .NET-keretrendszerosztályt. A különbség az, hogy az egyéni vezérlő kódját futtató Visual Studio egy külön példányát fogja hibakereséssel elvégezni.
Fontos
Ez a cikk elsősorban a .NET-keretrendszerrel rendelkező Windows Forms klasszikus In-Process Tervezője számára készült. Előfordulhat, hogy az eljárások nem alkalmazhatók közvetlenül, vagy nem teljesen kompatibilisek azokkal a projektekkel, amelyek célja a .NET (nem pedig a .NET-keretrendszer).
.NET-keretrendszer-projektek esetén a Tervezőben csak azok a projektek teljes mértékben támogatottak, amelyek a platform célbeállításaival képesek lefordulni Bármelyik vagy x64 platformra. Az ActiveX, COM vagy más 32 bites összetevőket használó projektek kompatibilitási problémákat okozhatnak. A jelenleg előzetes verzióban elérhető Out-Of_Process Framework Designer számos kompatibilitási problémát elhárít. Előfordulhat azonban, hogy a tervezési idő funkció nem működik úgy, mint a 64 bites In-Process Tervező. Az Out-Of-Process Framework Designer engedélyezéséhez lépjen az Eszközök>Beállítások>Környezet>Előzetes funkciók.
További információ aOf-Process Tervezőről: A tervező módosításai a .NET-keretrendszeróta.
A projekt létrehozása
Az első lépés az alkalmazásprojekt létrehozása. Ezzel a projektel fogja létrehozni az egyéni vezérlőt üzemeltető alkalmazást.
A Visual Studióban hozzon létre egy Windows-alkalmazásprojektet, és nevezze el DebuggingExample.
A vezérlőtár projektjének létrehozása
Adjon hozzá egy Windows Control Library projektet a megoldáshoz.
Adjon hozzá egy új UserControl elemet a DebugControlLibrary projekthez. Nevezze el DebugControl.
A Megoldáskezelőtörölje a projekt alapértelmezett vezérlőjét a UserControl1 alapnevű kódfájl törlésével.
Hozza létre a megoldást.
Ellenőrző pont
Ezen a ponton a saját egyéni vezérlőjét fogja látni a eszközkészletben.
A folyamat ellenőrzéséhez keresse meg a DebugControlLibrary Components nevű új lapot, és kattintson rá a kijelöléshez. Amikor megnyílik, a vezérlő DebugControl jelenik meg, mellette az alapértelmezett ikonnal.
Tulajdonság hozzáadása az egyéni vezérlőhöz
Annak bemutatásához, hogy az egyéni vezérlő kódja tervezéskor fut, hozzáad egy tulajdonságot, és beállít egy töréspontot a tulajdonságot megvalósító kódban.
Nyissa meg a Kódszerkesztő-ban a DebugControl-et. Adja hozzá a következő kódot az osztálydefinícióhoz:
Private demoStringValue As String = Nothing <BrowsableAttribute(true)> Public Property DemoString() As String Get Return Me.demoStringValue End Get Set(ByVal value As String) Me.demoStringValue = value End Set End Propertyprivate string demoStringValue = null; [Browsable(true)] public string DemoString { get { return this.demoStringValue; } set { demoStringValue = value; } }Hozza létre a megoldást.
Adja hozzá egyéni vezérlőjét a fogadó űrlaphoz
Az egyéni vezérlő tervezési idejének hibakereséséhez az egyéni vezérlőosztály egy példányát egy hoszt űrlapra helyezi.
"A 'DebuggingExample' Projektben a Form1-et nyissa meg a Windows Forms Designer-ben."
Az eszközkészlet-ben nyissa meg a DebugControlLibrary Components lapot, és húzza a DebugControl példányt a felületre.
Keresse meg a
DemoStringegyéni tulajdonságot a Tulajdonságok ablakban. Vegye figyelembe, hogy az értékét ugyanúgy módosíthatja, mint bármely más tulajdonságot. Azt is vegye figyelembe, hogy aDemoStringtulajdonság kijelölésekor a tulajdonság leírási sztringje megjelenik a Tulajdonságok ablak alján.
A projekt beállítása a tervezési idő alatti hibakereséshez
Az egyéni vezérlő tervezési idejének hibakereséséhez egy külön Visual Studio példányt fog hibakeresni, amely az egyéni vezérlő kódját futtatja.
Kattintson a jobb gombbal a DebugControlLibrary projektre a Megoldáskezelő, és válassza Tulajdonságoklehetőséget.
A DebugControlLibrary tulajdonságlapon válassza a Hibakeresés lapot.
A Művelet indítása szakaszban válassza a Külső program indításalehetőséget. A Visual Studio egy külön példányát fogja hibakeresésre használni, ezért a Visual Studio IDE kereséséhez kattintson a három pontra (
Tulajdonságok ablakában. A végrehajtható fájl neve devenv.exe, és ha az alapértelmezett helyre van telepítve, az elérési útja %ProgramFiles(x86)%\Microsoft Visual Studio\2019\<edition>\Common7\IDE.A párbeszédpanel bezárásához válassza az OK lehetőséget.
A hibakeresési konfiguráció engedélyezéséhez kattintson a jobb gombbal a DebugControlLibrary projektre, és válassza a Beállítás indítási projektként lehetőséget.
Egyéni vezérlő hibakeresése tervezési időben
Most már készen áll az egyéni vezérlő hibakeresésére, amikor az tervezési módban fut. Amikor elindítja a hibakeresési munkamenetet, létrejön a Visual Studio új példánya, és ezzel betölti a "DebuggingExample" megoldást. Amikor megnyitja a Form1-et a Forms Designer-ben, létrejön az egyéni vezérlő egy példánya, és elindul a futása.
Nyissa meg a DebugControl forrásfájlt a Kódszerkesztőben, és helyezzen egy töréspontot a
SettulajdonságDemoStringelérőjére.A hibakeresési munkamenet elindításához nyomja le F5. Létrejön a Visual Studio új példánya. A példányok kétféleképpen különböztethetők meg:
A hibakeresési példány címsorában szerepel az Futó szó
A hibakeresési példányon a Start gomb le van tiltva Hibakeresés eszköztáron
A töréspont a hibakereső környezetben van beállítva.
A Visual Studio új példányában nyissa meg a "DebuggingExample" megoldást. A megoldást egyszerűen megtalálhatja a Fájl menü Legutóbbi projektek elemének kiválasztásával. A "DebuggingExample.sln" megoldásfájl a legutóbb használt fájlként jelenik meg.
Fontos
Ha .NET 6-os vagy újabb Windows Forms-projektet hibakeres, ne töltse be a projektet, hanem használja a Visual Studio ezen példányát, hogy hibakeresőt csatoljon a DesignToolsServer.exe folyamathoz. Válassza ki a Hibakeresés>Csatolás a folyamat menüpontot. Keresse meg a DesignToolsServer.exe a folyamatok listájában, és nyomja le a Csatolásbillentyűt. További információ: A tervező módosításai a .NET-keretrendszeróta.
Nyissa meg a Form1-et a Űrlaptervező, és válassza a DebugControl vezérlőt.
Módosítsa a
DemoStringtulajdonság értékét. A módosítás véglegesítésekor a Visual Studio hibakeresési példánya a törésponton kap fókuszt és a végrehajtás leáll. A tulajdonságkiegészítőt egyetlen lépésben is végigvezetheti, ugyanúgy, mint bármely más kódot.A hibakeresés leállításához lépjen ki a Visual Studio üzemeltetett példányából, vagy válassza a Hibakeresés leállítása gombot a hibakeresési példányban.
Következő lépések
Most, hogy a tervezéskor hibakeresést végezhet az egyéni vezérlőkben, számos lehetőség van arra, hogy kibővítse a vezérlő és a Visual Studio IDE közötti interakciót.
A DesignMode osztály Component tulajdonságával olyan kódot írhat, amely csak a tervezéskor lesz végrehajtva. További részletekért lásd: DesignMode.
A vezérlő tulajdonságaira számos attribútum alkalmazható az egyéni vezérlő tervezővel való interakciójának módosításához. Ezeket az attribútumokat a System.ComponentModel névtérben találja.
Egyéni tervezőt is írhat az egyéni vezérlőhöz. Így teljes mértékben szabályozhatja a Visual Studio által közzétett bővíthető tervezői infrastruktúrát használó tervezési élményt. További részletekért tekintse meg útmutatót: A Visual Studio Design-Time szolgáltatásokelőnyeit kihasználó Windows Forms-vezérlő létrehozása.
Lásd még
.NET Desktop feedback