DrawMode Перечисление

Определение

Задает способ рисования элементов, входящих в элемент управления.Specifies how the elements of a control are drawn.

public enum class DrawMode
public enum DrawMode
type DrawMode = 
Public Enum DrawMode
Наследование
DrawMode

Поля

Normal 0

Рисование всех элементов в элементе управления выполняется операционной системой, и все элементы имеют одинаковый размер.All the elements in a control are drawn by the operating system and are of the same size.

OwnerDrawFixed 1

Рисование всех элементов в элементе управления выполняется вручную, и все элементы имеют одинаковый размер.All the elements in the control are drawn manually and are of the same size.

OwnerDrawVariable 2

Рисование всех элементов в элементе управления выполняется вручную, и размер их может быть разным.All the elements in the control are drawn manually and can differ in size.

Примеры

В следующем примере показано, как создать рисуемые ListBox владельцем элементы.The following example demonstrates how to create owner-drawn ListBox items. В коде используется ListBox.DrawMode свойство, чтобы указать, что рисуемые элементы имеют фиксированный размер ListBox.DrawItem , и событие для выполнения рисования каждого элемента в. ListBoxThe 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. В примере используются свойства и методы DrawItemEventArgs класса, передаваемые в качестве параметра обработчику событий для рисования элементов.The example uses the properties and methods of the DrawItemEventArgs class passed as a parameter to the event handler to draw the items. В этом примере предполагается ListBox , что listBox1 элемент управления был добавлен в форму и что ListBox.DrawItem событие обрабатывается обработчиком событий, определенным в примере.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. В примере также предполагается, что элементы были добавлены в ListBox в в этом порядке с текстом "Apple", "оранжевый" и "Плам".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

Комментарии

Это перечисление DrawMode используется элементами ListBox, такими как в классах, ComboBox CheckedListBoxи.This enumeration is used by members such as DrawMode in the ListBox, CheckedListBox, and ComboBox classes.

Можно переопределить рисование некоторых элементов управления или определенных элементов.You can override the drawing of some controls or certain elements. Это перечисление используется для указания того, отображается ли элемент управления операционной системой или если ваш собственный код обрабатывает рисование элемента управления.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.

Примечание

CheckedListBox Класс поддерживаетсяNormalтолько; режимы рисования владельца не учитываются.The CheckedListBox class only supports Normal; owner draw modes are ignored.

Дополнительные сведения об DrawMode использовании перечисления см. в MeasureItem разделе события ItemHeight и DrawItem и свойство.For more information about using the DrawMode enumeration, see the MeasureItem and DrawItem events, and the ItemHeight property.

Применяется к

Дополнительно