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


Útmutató: Egyéni Windows-űrlapvezérlők hibakeresése tervezéskor

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

  1. Adjon hozzá egy Windows Control Library projektet a megoldáshoz.

  2. Adjon hozzá egy új UserControl elemet a DebugControlLibrary projekthez. Nevezze el DebugControl.

  3. A Megoldáskezelőtörölje a projekt alapértelmezett vezérlőjét a UserControl1 alapnevű kódfájl törlésével.

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

  1. 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 Property
    
    private string demoStringValue = null;
    [Browsable(true)]
    public string DemoString
    {
        get
        {
            return this.demoStringValue;
        }
        set
        {
            demoStringValue = value;
        }
    }
    
  2. 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.

  1. "A 'DebuggingExample' Projektben a Form1-et nyissa meg a Windows Forms Designer-ben."

  2. Az eszközkészlet-ben nyissa meg a DebugControlLibrary Components lapot, és húzza a DebugControl példányt a felületre.

  3. Keresse meg a DemoString egyé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 a DemoString tulajdonsá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.

  1. Kattintson a jobb gombbal a DebugControlLibrary projektre a Megoldáskezelő, és válassza Tulajdonságoklehetőséget.

  2. 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 (A Három pont (...) gombra a Visual StudioTulajdonsá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.

  3. A párbeszédpanel bezárásához válassza az OK lehetőséget.

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

  1. Nyissa meg a DebugControl forrásfájlt a Kódszerkesztőben, és helyezzen egy töréspontot a Set tulajdonság DemoString elérőjére.

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

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

  4. Nyissa meg a Form1-et a Űrlaptervező, és válassza a DebugControl vezérlőt.

  5. Módosítsa a DemoString tulajdonsá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.

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