Sdílet prostřednictvím


Návod: Ladění vlastních ovládacích prvků Windows Forms v době návrhu

Při vytváření vlastního ovládacího prvku často zjistíte, že je nutné ladit a testovat jeho chování v době návrhu. To platí zejména v případě, že vytváříte vlastního návrháře pro vlastní ovládací prvek. Podrobnosti najdete v tématu Návod: Vytvoření ovládacího prvku Windows Forms, který využívá funkce sady Visual Studio Design-Time.

Vlastní ovládací prvky můžete ladit pomocí sady Visual Studio stejně jako jakékoli jiné třídy rozhraní .NET Framework. Rozdíl je v tom, že budete ladit samostatnou instanci sady Visual Studio, která spouští kód vlastního ovládacího prvku.

Důležité

Tento článek je primárně určený pro klasického návrháře In-Process pro Windows Forms s rozhraním .NET Framework. Postupy nemusí být přímo použitelné nebo plně kompatibilní s projekty, které cílí na .NET (nikoli .NET Framework).

Pro projekty rozhraní .NET Framework jsou v Návrháři plně podporovány pouze projekty, které lze kompilovat s nastavením cíle platformy Any nebo x64 . Projekty, které používají ActiveX, COM nebo jiné 32bitové komponenty, můžou mít problémy s kompatibilitou. Návrhář architektury Out-Of_Process, který je aktuálně ve verzi Preview, řeší řadu těchto problémů s kompatibilitou. Funkce v době návrhu ale nemusí fungovat tak dobře jako 64bitová verze návrháře In-Process. Pokud chcete povolit návrháře rozhraní Out-Of-Process Framework, přejděte do Nástroje>>.

Další informace o návrháři out-Of-Process naleznete v tématu Změny návrháře od rozhraní .NET Framework.

Vytvoření projektu

Prvním krokem je vytvoření projektu aplikace. Tento projekt použijete k sestavení aplikace, která je hostitelem vlastního ovládacího prvku.

V sadě Visual Studio vytvořte projekt aplikace systému Windows a pojmenujte jej DebugExample.

Vytvoření projektu knihovny ovládacích prvků

  1. Přidejte do řešení projekt knihovny ovládacích prvků systému Windows .

  2. Přidejte novou položku UserControl do projektu DebugControlLibrary. Pojmenujte ji DebugControl.

  3. V Průzkumníku řešení odstraňte výchozí ovládací prvek projektu odstraněním souboru kódu se základním názvem UserControl1.

  4. Sestavte řešení.

Kontrolní bod

V tuto chvíli uvidíte vlastní ovládací prvek v sadě nástrojů.

Chcete-li zkontrolovat průběh, vyhledejte novou kartu s názvem DebugControlLibrary Components a kliknutím ji vyberte. Po otevření se ovládací prvek zobrazí jako DebugControl s výchozí ikonou vedle něj.

Přidání vlastnosti do vlastního ovládacího prvku

Chcete-li předvést, že kód vlastního ovládacího prvku běží v době návrhu, přidáte vlastnost a nastavíte zarážku v kódu, který implementuje vlastnost.

  1. Otevřete DebugControl v editoru kódu. Do definice třídy přidejte následující kód:

    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. Sestavte řešení.

Přidání vlastního ovládacího prvku do formuláře hostitele

Chcete-li ladit chování za běhu návrhu vlastního ovládacího prvku, umístíte instanci třídy vlastního ovládacího prvku do hostitelského formuláře.

  1. V projektu DebuggingExample otevřete Formulář1 v nástroji Windows Forms Designer.

  2. Na panelu nástrojů otevřete kartu DebugControlLibrary Components a přetáhněte instanci DebugControl do formuláře.

  3. DemoString Najděte vlastní vlastnost v okně Vlastnosti. Všimněte si, že její hodnotu můžete změnit stejně jako jakoukoli jinou vlastnost. Všimněte si také, že když DemoString je vlastnost vybrána, zobrazí se v dolní části okna Vlastnosti řetězec popisu vlastnosti.

Nastavení projektu pro ladění v době návrhu

Pokud chcete ladit chování návrhu vlastního ovládacího prvku, budete ladit samostatnou instanci sady Visual Studio, na které běží kód vlastního ovládacího prvku.

  1. V Průzkumníku řešení klikněte pravým tlačítkem myši na projekt DebugControlLibrary a vyberte Vlastnosti.

  2. Na vlastnostním listu DebugControlLibrary vyberte kartu Ladění.

    V části Spustit akci vyberte Spustit externí program. Budete ladit samostatnou instanci sady Visual Studio, takže klikněte na tři tečky (tlačítko se třemi tečkami (...) v okně Vlastnosti v sadě Visual Studio) a vyhledejte integrované vývojové prostředí sady Visual Studio. Název spustitelného souboru je devenv.exea pokud jste ho nainstalovali do výchozího umístění, cesta je %ProgramFiles(x86)%\Microsoft Visual Studio\2019\<edition>\Common7\IDE.

  3. Zvolte OK a zavřete dialogové okno.

  4. Klikněte pravým tlačítkem myši na projekt DebugControlLibrary a výběrem možnosti Nastavit jako spustit projekt povolte tuto konfiguraci ladění.

Ladění vlastního ovládacího prvku v době návrhu

Teď jste připraveni na ladění vlastního ovládacího prvku během běhu v návrhovém režimu. Když spustíte ladicí relaci, vytvoří se nová instance sady Visual Studio a použijete ji k načtení řešení DebuggingExample. Když v Návrháři formulářů otevřete formulář 1, vytvoří se instance vlastního ovládacího prvku a spustí se.

  1. Otevřete zdrojový soubor DebugControl v editoru kódu a umístěte bod přerušení na Set přístupový prvek vlastnosti DemoString.

  2. Stisknutím klávesy F5 spusťte ladicí relaci. Vytvoří se nová instance sady Visual Studio. Mezi instancemi můžete rozlišovat dvěma způsoby:

    • Instance ladění obsahuje slovo Spuštěno v záhlaví.

    • Instance ladění má na panelu nástrojů Ladění zakázané tlačítko Start.

    Přerušení je nastavené během ladění.

  3. V nové instanci sady Visual Studio otevřete řešení DebuggingExample. Řešení snadno najdete tak, že v nabídce Soubor vyberete Poslední projekty. Soubor řešení "DebuggingExample.sln" bude uveden jako naposledy použitý soubor.

    Důležité

    Pokud ladíte projekt Windows Forms pro .NET 6 nebo novější, nenačítejte projekt. Místo toho použijte tuto instanci sady Visual Studio k připojení ladicího programu k procesu DesignToolsServer.exe. Vyberte položku nabídky Ladění>Připojit k procesu. V seznamu procesů vyhledejte DesignToolsServer.exe a stiskněte připojit. Další informace naleznete v tématu Změny návrháře od rozhraní .NET Framework.

  4. Otevřete formulář 1 v Návrháři formulářů a vyberte ovládací prvek DebugControl .

  5. Změňte hodnotu DemoString vlastnosti. Když změnu potvrdíte, instance ladění sady Visual Studio se zaměří a provádění se zastaví na bodu přerušení. Přístup k vlastnosti můžete procházet po jednotlivých krocích stejně jako jakýkoli jiný kód.

  6. Chcete-li zastavit ladění, ukončete hostované instance sady Visual Studio nebo vyberte tlačítko Zastavit ladění v instanci ladění.

Další kroky

Teď, když můžete v době návrhu ladit vlastní ovládací prvky, existuje mnoho možností, jak rozšířit interakci ovládacího prvku s integrovaným vývojovém prostředím sady Visual Studio.

Viz také