Бөлісу құралы:


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

Определение

Указывает способ рисования элементов элемента управления.

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

Поля

Имя Значение Описание
Normal 0

Все элементы элемента управления рисуются операционной системой и имеют одинаковый размер.

OwnerDrawFixed 1

Все элементы элемента управления рисуются вручную и имеют одинаковый размер.

OwnerDrawVariable 2

Все элементы в элементе управления рисуются вручную и могут отличаться по размеру.

Примеры

В следующем примере показано, как создать элементы, нарисованные ListBox владельцем. Код использует ListBox.DrawMode свойство, чтобы указать, что нарисованные элементы имеют фиксированный размер и ListBox.DrawItem событие для выполнения рисования каждого элемента в элементе ListBox. В примере используются свойства и методы DrawItemEventArgs класса, переданные в качестве параметра обработчику событий, для рисования элементов. В этом примере предполагается, что ListBox вызываемый listBox1 элемент управления был добавлен в форму и что ListBox.DrawItem событие обрабатывается обработчиком событий, определенным в примере. В примере также предполагается, что элементы были добавлены ListBox в текст "Apple", "Оранжевый" и "Слив" в этом порядке.

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, CheckedListBoxи ComboBox классах.

Можно переопределить рисунок некоторых элементов управления или определенных элементов. Это перечисление используется для указания того, рисуется ли элемент управления операционной системой или если собственный код обрабатывает рисунок элемента управления.

Замечание

Класс CheckedListBox поддерживается Normalтолько; режимы рисования владельца игнорируются.

Дополнительные сведения об использовании DrawMode перечисления см. в разделе MeasureItem и DrawItem событиях и свойстве ItemHeight .

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

См. также раздел