Bagikan melalui


DrawMode Enum

Definisi

Menentukan bagaimana elemen kontrol digambar.

public enum class DrawMode
public enum DrawMode
type DrawMode = 
Public Enum DrawMode
Warisan
DrawMode

Bidang

Nama Nilai Deskripsi
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 .

Berlaku untuk

Lihat juga