Bagikan melalui


Cara: Mewarisi dari Kontrol Formulir Windows yang Ada

Jika Anda ingin memperluas fungsionalitas kontrol yang ada, Anda dapat membuat kontrol yang berasal dari kontrol yang ada melalui pewarisan. Saat mewarisi dari kontrol yang ada, Anda mewarisi semua fungsionalitas dan properti visual kontrol tersebut. Misalnya, jika Anda membuat kontrol yang diwarisi dari Button, kontrol baru Anda akan terlihat dan bertindak persis seperti kontrol standar Button . Anda kemudian dapat memperluas atau memodifikasi fungsionalitas kontrol baru Anda melalui implementasi metode dan properti kustom. Dalam beberapa kontrol, Anda juga dapat mengubah tampilan visual kontrol yang diwariskan dengan mengesampingkan metodenya OnPaint .

Untuk membuat kontrol yang diwariskan

  1. Di Visual Studio, buat proyek Aplikasi Formulir Windows baru.

  2. Dari menu Proyek , pilih Tambahkan Item Baru.

    Kotak dialog Tambahkan Item Baru akan muncul.

  3. Dalam kotak dialog Tambahkan Item Baru, klik dua kali Kontrol Kustom.

    Kontrol kustom baru ditambahkan ke proyek Anda.

  4. Jika Anda menggunakan:

    • Visual Basic, di bagian atas Penjelajah Solusi, klik Perlihatkan Semua File. Perluas CustomControl1.vb lalu buka CustomControl1.Designer.vb di Editor Kode.
    • C#, buka CustomControl1.cs di Editor Kode.
  5. Temukan deklarasi kelas, yang mewarisi dari Control.

  6. Ubah kelas dasar ke kontrol yang ingin Anda warisi.

    Misalnya, jika Anda ingin mewarisi dari Button, ubah deklarasi kelas menjadi yang berikut:

    Partial Class CustomControl1
        Inherits System.Windows.Forms.Button
    
    public partial class CustomControl1 : System.Windows.Forms.Button
    
  7. Jika Anda menggunakan Visual Basic, simpan dan tutup CustomControl1.Designer.vb. Buka CustomControl1.vb di Editor Kode.

  8. Terapkan metode atau properti kustom apa pun yang akan digabungkan oleh kontrol Anda.

  9. Jika Anda ingin mengubah tampilan grafis kontrol Anda, ambil alih OnPaint metode .

    Catatan

    Mengesampingkan OnPaint tidak akan memungkinkan Anda untuk memodifikasi tampilan semua kontrol. Kontrol yang memiliki semua lukisan mereka dilakukan oleh Windows (misalnya, TextBox) tidak pernah memanggil metode mereka OnPaint , dan dengan demikian tidak akan pernah menggunakan kode kustom. Lihat dokumentasi Bantuan untuk kontrol tertentu yang ingin Anda ubah untuk melihat apakah OnPaint metode tersedia. Untuk daftar semua Kontrol Formulir Windows, lihat Kontrol untuk Digunakan pada Formulir Windows. Jika kontrol tidak terdaftar OnPaint sebagai metode anggota, Anda tidak dapat mengubah penampilannya dengan mengambil alih metode ini. Untuk informasi selengkapnya tentang lukisan kustom, lihat Lukisan dan Penyajian Kontrol Kustom.

    Protected Overrides Sub OnPaint(ByVal e As _
       System.Windows.Forms.PaintEventArgs)
       MyBase.OnPaint(e)
       ' Insert code to do custom painting.
       ' If you want to completely change the appearance of your control,
       ' do not call MyBase.OnPaint(e).
    End Sub
    
    protected override void OnPaint(PaintEventArgs pe)
    {
       base.OnPaint(pe);
       // Insert code to do custom painting.
       // If you want to completely change the appearance of your control,
       // do not call base.OnPaint(pe).
    }
    
  10. Simpan dan uji kontrol Anda.

Baca juga