ListBox.DrawMode Özellik

Tanım

Denetim için çizim modunu alır veya ayarlar.

C#
public virtual System.Windows.Forms.DrawMode DrawMode { get; set; }

Özellik Değeri

Denetimin DrawMode öğelerini çizme modunu temsil eden değerlerden biri. Varsayılan değer: DrawMode.Normal.

Özel durumlar

özelliğine atanan değer, numaralandırmanın DrawMode bir üyesi değil.

Çok sütunlu bir ListBox sütun, değişken boyutlu bir yüksekliğe sahip olamaz.

Örnekler

Aşağıdaki kod örneği, sahip tarafından çizilmiş ListBox öğelerin nasıl oluşturulacağını gösterir. Kod, çizilen öğelerin sabit boyutlu olduğunu ve DrawItem her öğenin ListBoxiçine çizimini gerçekleştirme olayını belirtmek için özelliğini kullanırDrawMode. Örnek kod, öğeleri çizmek için olay işleyicisine parametre olarak geçirilen sınıfın özelliklerini ve yöntemlerini DrawItemEventArgs kullanır. Bu örnek, adlı listBox1 bir ListBox denetimin forma eklenmesini ve DrawItem olayın örnek kodda tanımlanan olay işleyicisi tarafından işlenmesini gerektirir. Örnek ayrıca öğesine bu sırada "Apple", "Orange" ve "Plum" metinleriyle birlikte eklenmesini ListBox gerektirir.

C#
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();
}

Şunlara uygulanır

Ürün Sürümler
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

Ayrıca bkz.