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 событий для рисования каждого элемента в ListBox.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 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», «Orange» и «Plum» в указанном порядке.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

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

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