DrawItemEventArgs Класс

Определение

Предоставляет данные для события DrawItem.Provides data for the DrawItem event.

public ref class DrawItemEventArgs : EventArgs
public class DrawItemEventArgs : EventArgs
type DrawItemEventArgs = class
    inherit EventArgs
Public Class DrawItemEventArgs
Inherits EventArgs
Наследование
DrawItemEventArgs
Производный

Примеры

В следующем примере показано, как создать рисуемые ListBox владельцем элементы.The following 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 assumes that a ListBox control that is named 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 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

Комментарии

Событие вызывается элементами управления, рисуемыми владельцем, например ListBox элементами управления ComboBoxи. DrawItemThe DrawItem event is raised by owner draw controls, such as the ListBox and ComboBox controls. Он содержит всю информацию, необходимую пользователю для рисования указанного элемента, включая индекс Rectangleэлемента, и объект Graphics , на котором должно быть выполнено рисование.It contains all the information that is needed for the user to paint the specified item, including the item index, the Rectangle, and the Graphics on which the drawing should be done.

Конструкторы

DrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState)

Инициализирует новый экземпляр класса DrawItemEventArgs для заданного элемента управления с заданным шрифтом, состоянием, поверхностью для рисования и границами рисунка.Initializes a new instance of the DrawItemEventArgs class for the specified control with the specified font, state, surface to draw on, and the bounds to draw within.

DrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState, Color, Color)

Инициализирует новый экземпляр класса DrawItemEventArgs для заданного элемента управления с заданным шрифтом, состоянием, основным цветом, цветом фона, поверхностью для рисования и границами рисунка.Initializes a new instance of the DrawItemEventArgs class for the specified control with the specified font, state, foreground color, background color, surface to draw on, and the bounds to draw within.

Свойства

BackColor

Получает цвет фона для изображаемого элемента.Gets the background color of the item that is being drawn.

Bounds

Получает прямоугольник, представляющий собой границы изображаемого элемента.Gets the rectangle that represents the bounds of the item that is being drawn.

Font

Получает шрифт, назначенный изображаемому элементу.Gets the font that is assigned to the item being drawn.

ForeColor

Получает основной цвет изображаемого элемента.Gets the foreground color of the of the item being drawn.

Graphics

Получает графическую поверхность, используемую для рисования элемента.Gets the graphics surface to draw the item on.

Index

Получает значение индекса для изображаемого элемента.Gets the index value of the item that is being drawn.

State

Получает состояние изображаемого элемента.Gets the state of the item being drawn.

Методы

DrawBackground()

Рисует фон в пределах границ, заданных в конструкторе DrawItemEventArgs, используя указанный цвет.Draws the background within the bounds specified in the DrawItemEventArgs constructor and with the appropriate color.

DrawFocusRectangle()

Рисует прямоугольник фокуса в пределах границ, заданных в конструкторе DrawItemEventArgs.Draws a focus rectangle within the bounds specified in the DrawItemEventArgs constructor.

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

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

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