Bagikan melalui


Panduan: Men-debug Kontrol Formulir Windows Kustom pada Waktu Desain

Ketika Anda membuat kontrol kustom, Anda akan sering merasa perlu untuk men-debug perilaku waktu desainnya. Ini terutama berlaku jika Anda menulis perancang kustom untuk kontrol kustom Anda. Untuk detailnya, lihat Panduan: Membuat kontrol Formulir Windows yang Memanfaatkan Fitur Waktu Desain Visual Studio.

Anda dapat men-debug kontrol kustom menggunakan Visual Studio, seperti halnya Anda akan men-debug kelas .NET Framework lainnya. Perbedaannya adalah Anda akan men-debug instans terpisah Visual Studio yang menjalankan kode kontrol kustom Anda.

Penting

Artikel ini terutama ditujukan untuk Desainer Dalam Proses klasik untuk Formulir Windows dengan .NET Framework. Prosedur mungkin tidak berlaku secara langsung atau sepenuhnya kompatibel dengan proyek yang menargetkan .NET (bukan .NET Framework).

Untuk proyek .NET Framework, hanya proyek yang dapat dikompilasi dengan pengaturan target platform Apa pun atau x64 yang didukung sepenuhnya di Perancang. Proyek yang menggunakan ActiveX, COM, atau komponen 32-bit lainnya, mungkin memiliki masalah kompatibilitas. Out-Of_Process Framework Designer, yang saat ini dalam pratinjau, mengatasi banyak masalah kompatibilitas tersebut. Namun, fungsionalitas waktu desain mungkin tidak berfungsi serta Perancang Dalam Proses 64-bit. Untuk mengaktifkan Perancang Kerangka Kerja Di Luar Proses, navigasikan ke Fitur Pratinjau Lingkungan>Opsi>Alat.>

Untuk informasi selengkapnya tentang Perancang Di Luar Proses, lihat Perubahan perancang sejak .NET Framework.

Membuat proyek

Langkah pertama adalah membuat aplikasi baru. Anda akan menggunakan proyek ini untuk membangun aplikasi yang menghosting kontrol kustom.

Di Visual Studio, buat proyek Aplikasi Windows, dan beri nama DebuggingExample.

Membuat proyek pustaka kontrol

  1. Tambahkan proyek Pustaka Kontrol Windows ke solusi.

  2. Tambahkan item UserControl baru ke proyek DebugControlLibrary. Beri nama DebugControl.

  3. Di Penjelajah Solusi, hapus kontrol default proyek dengan menghapus file kode dengan nama dasar UserControl1.

  4. Bangun solusinya.

Pos pemeriksaan

Pada titik ini, Anda akan dapat melihat kontrol kustom Anda di Kotak Alat.

Untuk memeriksa kemajuan Anda, temukan tab baru yang disebut Komponen DebugControlLibrary dan klik untuk memilihnya. Saat terbuka, Anda akan melihat kontrol Anda tercantum sebagai DebugControl dengan ikon default di sampingnya.

Menambahkan properti ke kontrol kustom Anda

Untuk menunjukkan bahwa kode kontrol kustom Anda berjalan pada waktu desain, Anda akan menambahkan properti dan mengatur titik henti dalam kode yang mengimplementasikan properti .

  1. Buka DebugControl di Editor Kode. Tambahkan kode berikut ke definisi kelas:

    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. Bangun solusinya.

Menambahkan kontrol kustom Anda ke formulir host

Untuk men-debug perilaku waktu desain kontrol kustom Anda, Anda akan menempatkan instans kelas kontrol kustom pada formulir host.

  1. Dalam proyek "DebuggingExample", buka Form1 di Formulir Windows Designer.

  2. Di Kotak Alat, buka tab Komponen DebugControlLibrary dan seret instans DebugControl ke formulir.

  3. DemoString Temukan properti kustom di jendela Properti. Perhatikan bahwa Anda dapat mengubah nilainya seperti yang Anda lakukan pada properti lainnya. Perhatikan juga bahwa saat DemoString properti dipilih, string deskripsi properti muncul di bagian bawah jendela Properti .

Menyiapkan proyek untuk penelusuran kesalahan waktu desain

Untuk men-debug perilaku waktu desain kontrol kustom, Anda akan men-debug instans terpisah Visual Studio yang menjalankan kode kontrol kustom Anda.

  1. Klik kanan pada proyek DebugControlLibrary di Penjelajah Solusi dan pilih Properti.

  2. Di lembar properti DebugControlLibrary, pilih tab Debug.

    Di bagian Mulai Tindakan , pilih Mulai program eksternal. Anda akan men-debug instans terpisah Visual Studio, jadi klik tombol elipsis (The Ellipsis button (...) in the Properties window of Visual Studio) untuk menelusuri VISUAL Studio IDE. Nama file yang dapat dieksekusi adalah devenv.exe, dan jika Anda menginstal ke lokasi default, jalurnya adalah %ProgramFiles(x86)%\Microsoft Visual Studio\2019\<edition>\Common7\IDE.

  3. Pilih OK untuk menutup kotak dialog.

  4. Klik kanan proyek DebugControlLibrary dan pilih Atur sebagai Proyek StartUp untuk mengaktifkan konfigurasi penelusuran kesalahan ini.

Men-debug kontrol kustom Anda pada waktu desain

Sekarang Anda siap untuk men-debug kontrol kustom Anda saat berjalan dalam mode desain. Saat Anda memulai sesi penelusuran kesalahan, instans baru Visual Studio akan dibuat, dan Anda akan menggunakannya untuk memuat solusi "DebuggingExample". Saat Anda membuka Form1 di Perancang Formulir, instans kontrol kustom Anda akan dibuat dan akan mulai berjalan.

  1. Buka file sumber DebugControl di Editor Kode dan tempatkan titik henti pada Set aksesor DemoString properti.

  2. Tekan F5 untuk memulai sesi penelusuran kesalahan. Instans baru Visual Studio dibuat. Anda dapat membedakan antara instans dengan dua cara:

    • Instans penelusuran kesalahan memiliki kata Berjalan di bilah judulnya

    • Instans penelusuran kesalahan memiliki tombol Mulai pada toolbar Debug-nya dinonaktifkan

    Titik henti Anda diatur dalam instans penelusuran kesalahan.

  3. Dalam instans baru Visual Studio, buka solusi "DebuggingExample". Anda dapat dengan mudah menemukan solusi dengan memilih Proyek Terbaru dari menu File. File solusi "DebuggingExample.sln" akan dicantumkan sebagai file yang terakhir digunakan.

    Penting

    Jika Anda men-debug proyek Formulir Windows .NET 6 atau yang lebih baru, jangan muat proyek, sebagai gantinya, gunakan instans Visual Studio ini untuk melampirkan debugger ke proses DesignToolsServer.exe. Pilih item menu Lampirkan Debug>untuk memproses. Temukan DesignToolsServer.exe dalam daftar proses dan tekan Lampirkan. Untuk informasi selengkapnya, lihat Perubahan perancang sejak .NET Framework.

  4. Buka Formulir1 di Desainer Formulir dan pilih kontrol DebugControl .

  5. Ubah nilai DemoString properti. Saat Anda melakukan perubahan, instans penelusuran kesalahan Visual Studio memperoleh fokus dan eksekusi berhenti di titik henti Anda. Anda dapat melakukan satu langkah melalui aksesor properti sama seperti kode Anda lainnya.

  6. Untuk menghentikan penelusuran kesalahan, keluar dari instans Visual Studio yang dihosting atau pilih tombol Hentikan Debugging di instans penelusuran kesalahan.

Langkah berikutnya

Sekarang setelah Anda dapat men-debug kontrol kustom Anda pada waktu desain, ada banyak kemungkinan untuk memperluas interaksi kontrol Anda dengan Ide Visual Studio.

  • Anda dapat menggunakan DesignMode properti Component kelas untuk menulis kode yang hanya akan dijalankan pada waktu desain. Untuk detailnya, lihat DesignMode.

  • Ada beberapa atribut yang dapat Anda terapkan ke properti kontrol Anda untuk memanipulasi interaksi kontrol kustom Anda dengan perancang. Anda dapat menemukan atribut ini di System.ComponentModel namespace layanan.

  • Anda dapat menulis perancang kustom untuk kontrol kustom Anda. Ini memberi Anda kontrol penuh atas pengalaman desain menggunakan infrastruktur desainer yang dapat diperluas yang diekspos oleh Visual Studio. Untuk detailnya, lihat Panduan: Membuat kontrol Formulir Windows yang Memanfaatkan Fitur Waktu Desain Visual Studio.

Baca juga