Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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ů
Přidejte do řešení projekt knihovny ovládacích prvků systému Windows .
Přidejte novou položku UserControl do projektu DebugControlLibrary. Pojmenujte ji DebugControl.
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.
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.
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 Propertyprivate string demoStringValue = null; [Browsable(true)] public string DemoString { get { return this.demoStringValue; } set { demoStringValue = value; } }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.
V projektu DebuggingExample otevřete Formulář1 v nástroji Windows Forms Designer.
Na panelu nástrojů otevřete kartu DebugControlLibrary Components a přetáhněte instanci DebugControl do formuláře.
DemoStringNajdě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žDemoStringje 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.
V Průzkumníku řešení klikněte pravým tlačítkem myši na projekt DebugControlLibrary a vyberte Vlastnosti.
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 (
) 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.Zvolte OK a zavřete dialogové okno.
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.
Otevřete zdrojový soubor DebugControl v editoru kódu a umístěte bod přerušení na
Setpřístupový prvek vlastnostiDemoString.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í.
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.
Otevřete formulář 1 v Návrháři formulářů a vyberte ovládací prvek DebugControl .
Změňte hodnotu
DemoStringvlastnosti. 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.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.
Můžete použít vlastnost DesignMode třídy Component kódu k napsání, který se spustí pouze v návrhovém čase. Podrobnosti najdete v DesignMode.
Existuje několik atributů, které můžete použít u vlastností ovládacího prvku pro manipulaci s interakcí vlastního ovládacího prvku s návrhářem. Tyto atributy najdete v System.ComponentModel oboru názvů.
Můžete napsat vlastního návrháře pro vlastní ovládací prvek. Díky tomu máte úplnou kontrolu nad prostředím návrhu pomocí infrastruktury rozšiřitelného návrháře vystavené sadou Visual Studio. Podrobnosti najdete v tématu Návod: Vytvoření ovládacího prvku Windows Forms, který využívá funkce sady Visual Studio Design-Time.
Viz také
.NET Desktop feedback