DrawMode Enumerazione

Definizione

Specifica le modalità di disegno degli elementi di un controllo.Specifies how the elements of a control are drawn.

public enum class DrawMode
public enum DrawMode
type DrawMode = 
Public Enum DrawMode
Ereditarietà
DrawMode

Campi

Normal 0

Tutti gli elementi di un controllo vengono disegnati dal sistema operativo con identiche dimensioni.All the elements in a control are drawn by the operating system and are of the same size.

OwnerDrawFixed 1

Tutti gli elementi di un controllo vengono disegnati manualmente con identiche dimensioni.All the elements in the control are drawn manually and are of the same size.

OwnerDrawVariable 2

Tutti gli elementi del controllo vengono disegnati manualmente e possono avere dimensioni differenti.All the elements in the control are drawn manually and can differ in size.

Esempio

Nell'esempio seguente viene illustrato come creare elementi creati dal proprietario ListBox .The following example demonstrates how to create owner-drawn ListBox items. Il codice utilizza la ListBox.DrawMode proprietà per specificare che gli elementi disegnati sono a dimensione fissa e l' ListBox.DrawItem evento per eseguire il disegno di ogni elemento ListBox in.The code uses the ListBox.DrawMode property to specify that the items drawn are fixed sized and the ListBox.DrawItem event to perform the drawing of each item into the ListBox. Nell'esempio vengono utilizzate le proprietà e i metodi della DrawItemEventArgs classe passati come parametro al gestore eventi per creare gli elementi.The example uses the properties and methods of the DrawItemEventArgs class passed as a parameter to the event handler to draw the items. In questo esempio si presuppone che un ListBox controllo denominato listBox1 sia stato aggiunto a un form e che l' ListBox.DrawItem evento venga gestito dal gestore eventi definito nell'esempio.This example assumes that a ListBox control called listBox1 has been added to a form and that the ListBox.DrawItem event is handled by the event handler defined in the example. Nell'esempio si presuppone anche che gli elementi siano stati aggiunti all'oggetto ListBox con il testo "Apple", "Orange" e "prugne" in tale ordine.The example also assumes that items have been added to the ListBox with the text of "Apple", "Orange", and "Plum" in that order.

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

Commenti

Questa enumerazione viene utilizzata dai membri, ad esempio DrawMode nelle ListBox CheckedListBox classi, e ComboBox .This enumeration is used by members such as DrawMode in the ListBox, CheckedListBox, and ComboBox classes.

È possibile eseguire l'override del disegno di alcuni controlli o di determinati elementi.You can override the drawing of some controls or certain elements. Questa enumerazione viene utilizzata per specificare se un controllo viene disegnato dal sistema operativo o se il proprio codice gestisce il disegno del controllo.This enumeration is used to specify if a control is drawn by the operating system or if your own code handles the drawing of the control.

Nota

La CheckedListBox classe supporta solo le Normal modalità Owner Draw vengono ignorate.The CheckedListBox class only supports Normal; owner draw modes are ignored.

Per ulteriori informazioni sull'utilizzo dell' DrawMode enumerazione, vedere gli MeasureItem DrawItem eventi e e la ItemHeight Proprietà.For more information about using the DrawMode enumeration, see the MeasureItem and DrawItem events, and the ItemHeight property.

Si applica a

Vedi anche