DrawMode Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan bagaimana elemen kontrol digambar.
public enum class DrawMode
public enum DrawMode
type DrawMode =
Public Enum DrawMode
- Warisan
Bidang
Normal | 0 | Semua elemen dalam kontrol digambar oleh sistem operasi dan berukuran sama. |
OwnerDrawFixed | 1 | Semua elemen dalam kontrol digambar secara manual dan berukuran sama. |
OwnerDrawVariable | 2 | Semua elemen dalam kontrol digambar secara manual dan dapat berbeda ukurannya. |
Contoh
Contoh berikut menunjukkan cara membuat item yang digambar ListBox pemilik. Kode menggunakan ListBox.DrawMode properti untuk menentukan bahwa item yang digambar berukuran tetap dan ListBox.DrawItem peristiwa untuk melakukan gambar setiap item ke dalam ListBox. Contohnya menggunakan properti dan metode kelas yang DrawItemEventArgs diteruskan sebagai parameter ke penanganan aktivitas untuk menggambar item. Contoh ini mengasumsikan bahwa kontrol yang ListBox disebut listBox1
telah ditambahkan ke formulir dan bahwa peristiwa ditangani ListBox.DrawItem oleh penanganan aktivitas yang ditentukan dalam contoh. Contohnya juga mengasumsikan bahwa item telah ditambahkan ke ListBox dengan teks "Apple", "Orange", dan "Plum" dalam urutan tersebut.
private ListBox ListBox1 = new ListBox();
private void InitializeListBox()
{
ListBox1.Items.AddRange(new Object[]
{ "Red Item", "Orange Item", "Purple Item" });
ListBox1.Location = new System.Drawing.Point(81, 69);
ListBox1.Size = new System.Drawing.Size(120, 95);
ListBox1.DrawMode = DrawMode.OwnerDrawFixed;
ListBox1.DrawItem += new DrawItemEventHandler(ListBox1_DrawItem);
Controls.Add(ListBox1);
}
private void ListBox1_DrawItem(object sender,
System.Windows.Forms.DrawItemEventArgs e)
{
// Draw the background of the ListBox control for each item.
e.DrawBackground();
// Define the default color of the brush as black.
Brush myBrush = Brushes.Black;
// Determine the color of the brush to draw each item based
// on the index of the item to draw.
switch (e.Index)
{
case 0:
myBrush = Brushes.Red;
break;
case 1:
myBrush = Brushes.Orange;
break;
case 2:
myBrush = Brushes.Purple;
break;
}
// Draw the current item text based on the current Font
// and the custom brush settings.
e.Graphics.DrawString(ListBox1.Items[e.Index].ToString(),
e.Font, myBrush, e.Bounds, StringFormat.GenericDefault);
// If the ListBox has focus, draw a focus rectangle around the selected item.
e.DrawFocusRectangle();
}
Private WithEvents ListBox1 As New ListBox()
Private Sub InitializeListBox()
ListBox1.Items.AddRange(New Object() _
{"Red Item", "Orange Item", "Purple Item"})
ListBox1.Location = New System.Drawing.Point(81, 69)
ListBox1.Size = New System.Drawing.Size(120, 95)
ListBox1.DrawMode = DrawMode.OwnerDrawFixed
Controls.Add(ListBox1)
End Sub
Private Sub ListBox1_DrawItem(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DrawItemEventArgs) _
Handles ListBox1.DrawItem
' Draw the background of the ListBox control for each item.
e.DrawBackground()
' Define the default color of the brush as black.
Dim myBrush As Brush = Brushes.Black
' Determine the color of the brush to draw each item based on
' the index of the item to draw.
Select Case e.Index
Case 0
myBrush = Brushes.Red
Case 1
myBrush = Brushes.Orange
Case 2
myBrush = Brushes.Purple
End Select
' Draw the current item text based on the current
' Font and the custom brush settings.
e.Graphics.DrawString(ListBox1.Items(e.Index).ToString(), _
e.Font, myBrush, e.Bounds, StringFormat.GenericDefault)
' If the ListBox has focus, draw a focus rectangle around _
' the selected item.
e.DrawFocusRectangle()
End Sub
Keterangan
Enumerasi ini digunakan oleh anggota seperti DrawMode di kelas , CheckedListBox, dan ComboBoxListBox.
Anda dapat mengambil alih gambar beberapa kontrol atau elemen tertentu. Enumerasi ini digunakan untuk menentukan apakah kontrol digambar oleh sistem operasi atau jika kode Anda sendiri menangani gambar kontrol.
Catatan
Kelas CheckedListBox hanya mendukung Normal
; mode gambar pemilik diabaikan.
Untuk informasi selengkapnya tentang menggunakan DrawMode
enumerasi, lihat MeasureItem
peristiwa dan DrawItem
, dan ItemHeight
properti .