DrawMode DrawMode DrawMode DrawMode Enum

Definición

Especifica cómo se dibujan los elementos de un control.Specifies how the elements of a control are drawn.

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

Campos

Normal Normal Normal Normal 0

El sistema operativo dibuja todos los elementos de un control y tienen el mismo tamaño.All the elements in a control are drawn by the operating system and are of the same size.

OwnerDrawFixed OwnerDrawFixed OwnerDrawFixed OwnerDrawFixed 1

Todos los elementos del control se dibujan manualmente y tienen el mismo tamaño.All the elements in the control are drawn manually and are of the same size.

OwnerDrawVariable OwnerDrawVariable OwnerDrawVariable OwnerDrawVariable 2

Todos los elementos del control se dibujan manualmente, y pueden ser de distinto tamaño.All the elements in the control are drawn manually and can differ in size.

Ejemplos

En el ejemplo siguiente se muestra cómo crear dibujado ListBox elementos.The following example demonstrates how to create owner-drawn ListBox items. El código usa el DrawMode tamaño de propiedad para especificar que los elementos dibujados se corrigen y DrawItem eventos para realizar el dibujo de cada elemento en el DrawItem.The code uses the DrawMode property to specify that the items drawn are fixed sized and the DrawItem event to perform the drawing of each item into the DrawItem. El código de ejemplo usa las propiedades y métodos de la DrawItemEventArgs clase se pasa como parámetro al controlador de eventos para dibujar los elementos.The example code uses the properties and methods of the DrawItemEventArgs class passed as a parameter to the event handler to draw the items. En este ejemplo se da por supuesto que un ListBox control denominado listBox1 se ha agregado a un formulario y que la DrawItem evento está controlado por el controlador de eventos definido en el código de ejemplo.This example assumes that a ListBox control called listBox1 has been added to a form and that the DrawItem event is handled by the event handler defined in the example code. El ejemplo también se supone que los elementos se han agregado a la DrawItem con el texto "Apple", "Orange" y "Plum" en ese orden.The example also assumes that items have been added to the DrawItem 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

Comentarios

Esta enumeración se usa como miembros DrawMode en el ListBox, CheckedListBox, y ComboBox clases.This enumeration is used by members such as DrawMode in the ListBox, CheckedListBox, and ComboBox classes.

Puede invalidar el dibujo de algunos controles o determinados elementos.You can override the drawing of some controls or certain elements. Esta enumeración se utiliza para especificar si un control se dibuja el sistema operativo o si su propio código controla el dibujo del control.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 clase sólo admite Normal; se omiten los modos de dibujo del propietario.The CheckedListBox class only supports Normal; owner draw modes are ignored.

Para obtener más información sobre el uso de la DrawMode.Normal enumeración, vea el MeasureItem y DrawItem eventos y el ItemHeight propiedad.For more information about using the DrawMode.Normal enumeration, see the MeasureItem and DrawItem events, and the ItemHeight property.

Se aplica a

Consulte también: