Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas tworzenia kontrolki niestandardowej często konieczne jest debugowanie jego zachowania w czasie projektowania. Jest to szczególnie istotne w przypadku tworzenia projektanta niestandardowego dla kontrolki niestandardowej. Aby uzyskać szczegółowe informacje, zobacz Przewodnik: tworzenie kontrolki formularzy systemu Windows, która korzysta z funkcji programu Visual Studio Design-Time.
Kontrolki niestandardowe można debugować przy użyciu programu Visual Studio, podobnie jak w przypadku debugowania innych klas programu .NET Framework. Różnica polega na tym, że będziesz debugować oddzielne wystąpienie programu Visual Studio, które uruchamia kod kontrolki niestandardowej.
Ważne
Ten artykuł jest przeznaczony głównie dla klasycznego projektanta In-Process dla formularzy systemu Windows za pomocą programu .NET Framework. Procedury mogą nie być bezpośrednio stosowane lub w pełni zgodne z projektami przeznaczonymi dla platformy .NET (a nie .NET Framework).
W przypadku projektów .NET Framework w projektancie są w pełni obsługiwane tylko projekty, które mogą być kompilowane z ustawieniami docelowymi platformy Dowolne lub x64 . Projekty korzystające z składników ActiveX, COM lub innych składników 32-bitowych mogą mieć problemy ze zgodnością. Projektant platformy Out-Of_Process, obecnie w wersji zapoznawczej, rozwiązuje wiele z tych problemów ze zgodnością. Jednak funkcje czasu projektowania mogą nie działać tak dobrze jak 64-bitowy projektant In-Process. Aby włączyć "Out-Of-Process Framework Designer," przejdź do pozycji Narzędzia>Opcje>Środowisko>Funkcje w wersji zapoznawczej.
Aby uzyskać więcej informacji na temat projektanta Out-Of-Process, zobacz Zmiany projektanta od wprowadzenia platformy .NET Framework.
Tworzenie projektu
Pierwszym krokiem jest utworzenie projektu aplikacji. Użyjesz tego projektu do skompilowania aplikacji, która hostuje kontrolkę niestandardową.
W programie Visual Studio utwórz projekt aplikacji systemu Windows i nadaj mu nazwę DebuggingExample.
Tworzenie projektu biblioteki kontrolek
Dodaj projekt Biblioteka kontrolek systemu Windows do rozwiązania.
Dodaj nowy element UserControl do projektu DebugControlLibrary. Nadaj jej nazwę DebugControl.
W Eksploratorze rozwiązań usuń domyślną kontrolkę projektu, usuwając plik kodu o podstawowej nazwie UserControl1.
Skompiluj rozwiązanie.
Punkt kontrolny
Na tym etapie będziesz mieć możliwość wyświetlenia niestandardowej kontrolki w przyborniku.
Aby sprawdzić postęp, znajdź nową kartę o nazwie DebugControlLibrary Components (Składniki DebugControlLibrary ) i kliknij ją, aby ją wybrać. Po jego otwarciu zobaczysz kontrolkę wyświetlaną jako DebugControl z ikoną domyślną obok niej.
Dodawanie właściwości do kontrolki niestandardowej
Aby zademonstrować, że kod kontrolki niestandardowej działa w czasie projektowania, dodasz atrybut i ustawisz punkt przerwania w kodzie, który implementuje ten atrybut.
Otwórz plik DebugControl w edytorze kodu. Dodaj następujący kod do definicji klasy:
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; } }Skompiluj rozwiązanie.
Dodaj kontrolkę niestandardową do formularza hosta
Aby debugować zachowanie kontrolki niestandardowej w czasie projektowania, należy umieścić wystąpienie klasy kontrolki niestandardowej w formularzu hosta.
W projekcie "DebuggingExample" otwórz aplikację Form1 w programie Windows Forms Designer.
W przyborniku otwórz kartę DebugControlLibrary Components i przeciągnij instancję DebugControl na formularz.
Znajdź właściwość niestandardową
DemoStringw oknie Właściwości . Należy pamiętać, że możesz zmienić jego wartość tak, jak dowolną inną właściwość. Należy również pamiętać, że po wybraniuDemoStringwłaściwości ciąg opisu właściwości jest wyświetlany w dolnej części okna Właściwości .
Konfigurowanie projektu na potrzeby debugowania w czasie projektowania
Aby debugować zachowanie niestandardowej kontrolki w czasie projektowania, debugujesz oddzielne wystąpienie programu Visual Studio, które uruchamia kod kontrolki niestandardowej.
Kliknij prawym przyciskiem myszy projekt DebugControlLibrary w Eksploratorze rozwiązań i wybierz pozycję Właściwości.
W arkuszu właściwości DebugControlLibrary wybierz kartę Debugowanie .
W sekcji Rozpocznij akcję wybierz pozycję Uruchom program zewnętrzny. Będziesz debugować oddzielne wystąpienie programu Visual Studio, dlatego kliknij wielokropek (
), aby przejść do środowiska IDE programu Visual Studio. Nazwa pliku wykonywalnego to devenv.exe, a jeśli zainstalowano ją w domyślnej lokalizacji, jego ścieżka to %ProgramFiles(x86)%\Microsoft Visual Studio\2019\<edition>\Common7\IDE.Kliknij przycisk OK, aby zamknąć okno dialogowe.
Kliknij prawym przyciskiem myszy projekt DebugControlLibrary i wybierz polecenie Ustaw jako projekt startowy , aby włączyć tę konfigurację debugowania.
Debugowanie niestandardowych kontrolek w czasie projektowania
Teraz jesteś gotowy do debugowania swojej kontrolki niestandardowej, gdy działa w trybie projektowania. Po rozpoczęciu sesji debugowania zostanie utworzone nowe wystąpienie programu Visual Studio, które będzie używane do załadowania rozwiązania "DebuggingExample". Po otwarciu formularza Form1 w Projektancie formularzy zostanie utworzone wystąpienie kontrolki niestandardowej i zostanie uruchomione.
Otwórz plik źródłowy DebugControl w Edytorze Kodów i umieść punkt przerwania na akcesorze właściwości
Set.Naciśnij F5 , aby rozpocząć sesję debugowania. Zostanie utworzone nowe wystąpienie programu Visual Studio. Można odróżnić wystąpienia na dwa sposoby:
Wystąpienie debugowania ma słowo Uruchomione na pasku tytułu
Wystąpienie debugowania ma wyłączony przycisk Uruchom na pasku narzędzi Debugowanie
Punkt przerwania został ustawiony w sesji debugowania.
W nowym wystąpieniu programu Visual Studio otwórz rozwiązanie "DebuggingExample". Rozwiązanie można łatwo znaleźć, wybierając pozycję Ostatnie projekty z menu Plik . Plik rozwiązania "DebuggingExample.sln" zostanie wyświetlony jako ostatnio używany plik.
Ważne
Jeśli debugujesz projekt platformy .NET 6 lub nowszego programu Windows Forms, nie ładuj projektu, zamiast tego użyj tego wystąpienia programu Visual Studio, aby dołączyć debuger do procesu DesignToolsServer.exe . Wybierz element menu Debugowanie>Dołącz do procesu. Znajdź DesignToolsServer.exe na liście procesów i naciśnij przycisk Dołącz. Aby uzyskać więcej informacji, zobacz Zmiany projektanta od czasu .NET Framework.
Otwórz formularz Form1 w Projektancie formularzy i wybierz kontrolkę DebugControl .
Zmień wartość
DemoStringwłaściwości. Gdy zatwierdzisz zmianę, instancja debugowania Visual Studio przejmuje uwagę, a wykonywanie zatrzymuje się na punkcie przerwania. Możesz przejść krok po kroku przez metodę dostępu do właściwości, tak jak przez każdy inny kod.Aby zatrzymać debugowanie, zamknij hostowane wystąpienie programu Visual Studio lub wybierz przycisk Zatrzymaj debugowanie w wystąpieniu debugowania.
Dalsze kroki
Teraz, gdy możesz debugować niestandardowe kontrolki w czasie projektowania, istnieje wiele możliwości rozszerzenia interakcji kontrolki z środowiskiem IDE programu Visual Studio.
Możesz użyć DesignMode właściwości Component klasy, aby napisać kod, który będzie wykonywany tylko w czasie projektowania. Aby uzyskać szczegółowe informacje, zobacz DesignMode.
Istnieje kilka atrybutów, które można zastosować do właściwości kontrolki w celu manipulowania interakcją kontrolki niestandardowej z projektantem. Te atrybuty można znaleźć w System.ComponentModel przestrzeni nazw.
Możesz stworzyć projektanta specjalnego dla kontrolki specjalnej. Zapewnia to pełną kontrolę nad środowiskiem projektowania przy użyciu rozszerzalnej infrastruktury projektanta uwidocznionej przez program Visual Studio. Aby uzyskać szczegółowe informacje, zobacz Przewodnik: tworzenie kontrolki formularzy systemu Windows, która korzysta z funkcji programu Visual Studio Design-Time.
Zobacz także
- Przewodnik krok po kroku : Tworzenie kontrolki Windows Forms, która korzysta z funkcji programu Visual Studio Design-Time
.NET Desktop feedback