Kontrol Konstituen
Kontrol yang membentuk kontrol pengguna, atau kontrol konstituen saat disebut, relatif tidak fleksibel dalam hal penyajian grafis kustom. Semua kontrol Formulir Windows menangani penyajian mereka sendiri melalui metode mereka sendiriOnPaint. Karena metode ini dilindungi, metode ini tidak dapat diakses oleh pengembang, dan dengan demikian tidak dapat dicegah untuk dieksekusi ketika kontrol dicat. Namun, ini tidak berarti bahwa Anda tidak dapat menambahkan kode untuk memengaruhi tampilan kontrol konstituen. Penyajian tambahan dapat dilakukan dengan menambahkan penanganan aktivitas. Misalnya, Anda menulis UserControl dengan tombol bernama MyButton
. Jika Anda ingin memiliki penyajian tambahan di luar apa yang disediakan oleh Button, Anda akan menambahkan kode ke kontrol pengguna Anda mirip dengan yang berikut ini:
Public Sub MyPaint(ByVal sender as Object, e as PaintEventArgs) Handles _
MyButton.Paint
'Additional rendering code goes here
End Sub
// Add the event handler to the button's Paint event.
MyButton.Paint +=
new System.Windows.Forms.PaintEventHandler (this.MyPaint);
// Create the custom painting method.
protected void MyPaint (object sender,
System.Windows.Forms.PaintEventArgs e)
{
// Additional rendering code goes here.
}
Catatan
Beberapa kontrol Formulir Windows, seperti TextBox, dicat langsung oleh Windows. Dalam kasus ini, OnPaint metode tidak pernah dipanggil, dan dengan demikian contoh di atas tidak akan pernah dipanggil.
Ini membuat metode yang dijalankan setiap kali MyButton.Paint
peristiwa dijalankan, sehingga menambahkan representasi grafis tambahan ke kontrol Anda. Perhatikan bahwa ini tidak mencegah eksekusi MyButton.OnPaint
, dan dengan demikian semua lukisan biasanya dilakukan oleh tombol masih akan dilakukan selain lukisan kustom Anda. Untuk detail tentang teknologi GDI+ dan penyajian kustom, lihat Membuat Gambar Grafis dengan GDI+. Jika Anda ingin memiliki representasi unik kontrol Anda, tindakan terbaik Anda adalah membuat kontrol yang diwariskan, dan menulis kode penyajian kustom untuk itu. Untuk detailnya, lihat Kontrol yang Digambar Pengguna.
Baca juga
.NET Desktop feedback