Aracılığıyla paylaş


DrawMode Sabit listesi

Tanım

Bir denetimin öğelerinin nasıl çizildiği belirtir.

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

Alanlar

Name Değer Description
Normal 0

Bir denetimdeki tüm öğeler işletim sistemi tarafından çizilir ve aynı boyuttadır.

OwnerDrawFixed 1

Denetimdeki tüm öğeler el ile çizilir ve aynı boyuttadır.

OwnerDrawVariable 2

Denetimdeki tüm öğeler el ile çizilir ve boyut bakımından farklılık gösterebilir.

Örnekler

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

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

Açıklamalar

Bu numaralandırma , CheckedListBoxve ComboBox sınıflarındaki ListBoxgibi DrawMode üyeler tarafından kullanılır.

Bazı denetimlerin veya belirli öğelerin çizimini geçersiz kılabilirsiniz. Bu numaralandırma, bir denetimin işletim sistemi tarafından çizilip çizileceğini veya kendi kodunuzun denetimin çizimini işlenip işlenmediğini belirtmek için kullanılır.

Not

CheckedListBox Sınıfı yalnızca desteklerNormal; sahip çizim modları yoksayılır.

Numaralandırmayı DrawMode kullanma hakkında daha fazla bilgi için ve DrawItem olaylarına MeasureItem ve özelliğine ItemHeight bakın.

Şunlara uygulanır

Ayrıca bkz.