DrawMode Enum

Definition

Anger hur elementen i en kontroll ritas.

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

Fält

Name Värde Description
Normal 0

Alla element i en kontroll ritas av operativsystemet och har samma storlek.

OwnerDrawFixed 1

Alla element i kontrollen ritas manuellt och har samma storlek.

OwnerDrawVariable 2

Alla element i kontrollen ritas manuellt och kan variera i storlek.

Exempel

I följande exempel visas hur du skapar ägarritade ListBox objekt. Koden använder ListBox.DrawMode egenskapen för att ange att de ritade objekten ListBox.DrawItem är fasta och händelsen för att utföra ritningen av varje objekt i ListBox. I exemplet används egenskaperna och metoderna för klassen DrawItemEventArgs som skickas som en parameter till händelsehanteraren för att rita objekten. Det här exemplet förutsätter att en ListBox kontroll som heter listBox1 har lagts till i ett formulär och att ListBox.DrawItem händelsen hanteras av händelsehanteraren som definierats i exemplet. Exemplet förutsätter också att objekt har lagts till ListBox i med texten "Apple", "Orange" och "Plum" i den ordningen.

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

Kommentarer

Den här uppräkningen används av medlemmar som DrawMode i klasserna ListBox, CheckedListBoxoch ComboBox .

Du kan åsidosätta ritningen av vissa kontroller eller vissa element. Den här uppräkningen används för att ange om en kontroll ritas av operativsystemet eller om din egen kod hanterar kontrollens ritning.

Note

Klassen CheckedListBox stöder Normalendast ; ägardragningslägen ignoreras.

Mer information om hur du använder DrawMode uppräkningen finns i MeasureItem händelserna och DrawItem och ItemHeight egenskapen.

Gäller för

Se även