ListBox.DrawMode ListBox.DrawMode ListBox.DrawMode ListBox.DrawMode Property

Определение

Возвращает или задает режим рисования элемента управления.Gets or sets the drawing mode for the control.

public:
 virtual property System::Windows::Forms::DrawMode DrawMode { System::Windows::Forms::DrawMode get(); void set(System::Windows::Forms::DrawMode value); };
public virtual System.Windows.Forms.DrawMode DrawMode { get; set; }
member this.DrawMode : System.Windows.Forms.DrawMode with get, set
Public Overridable Property DrawMode As DrawMode

Значение свойства

Одно из значений DrawMode, отражающее режим рисования позиций в элементе управления.One of the DrawMode values representing the mode for drawing the items of the control. Значение по умолчанию — DrawMode.Normal.The default is DrawMode.Normal.

Исключения

Значение, присваиваемое свойству, не является членом перечисления DrawMode.The value assigned to the property is not a member of the DrawMode enumeration.

Элемент управления ListBox с несколькими столбцами не может иметь переменную высоту.A multicolumn ListBox cannot have a variable-sized height.

Примеры

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

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

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