Поделиться через


DrawItemEventArgs Класс

Определение

Предоставляет данные о событии DrawItem.

public ref class DrawItemEventArgs : EventArgs
public ref class DrawItemEventArgs : EventArgs, IDisposable, System::Drawing::IDeviceContext
public class DrawItemEventArgs : EventArgs
public class DrawItemEventArgs : EventArgs, IDisposable, System.Drawing.IDeviceContext
type DrawItemEventArgs = class
    inherit EventArgs
type DrawItemEventArgs = class
    inherit EventArgs
    interface IDisposable
    interface IDeviceContext
Public Class DrawItemEventArgs
Inherits EventArgs
Public Class DrawItemEventArgs
Inherits EventArgs
Implements IDeviceContext, IDisposable
Наследование
DrawItemEventArgs
Производный
Реализации

Примеры

В следующем примере показано, как создать элементы, нарисованные ListBox владельцем. Код использует DrawMode свойство, чтобы указать, что нарисованные элементы имеют фиксированный размер и DrawItem событие для выполнения рисования каждого элемента в элементе ListBox. В примере кода используются свойства и методы DrawItemEventArgs класса, переданные в качестве параметра обработчику событий, для рисования элементов. В этом примере предполагается, что ListBox элемент управления, который называется listBox1 , был добавлен в форму и что 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

Комментарии

Событие DrawItem вызывается элементами управления рисования владельца, такими как ListBox элементы управления и ComboBox элементы управления. Он содержит все сведения, необходимые пользователю для рисования указанного элемента, включая индекс элемента, а также сведения Graphics о том, Rectangleна котором должен быть выполнен рисунок.

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

Имя Описание
DrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState, Color, Color)

Инициализирует новый экземпляр класса для указанного DrawItemEventArgs элемента управления с указанным шрифтом, состоянием, цветом переднего плана, цветом фона, поверхностью для рисования и границами, нарисуемых внутри.

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

Инициализирует новый экземпляр класса для указанного DrawItemEventArgs элемента управления с указанным шрифтом, состоянием, поверхностью для рисования и границами, нарисуемых внутри.

Свойства

Имя Описание
BackColor

Возвращает цвет фона нарисованного элемента.

Bounds

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

Font

Возвращает шрифт, назначенный рисуемой элементу.

ForeColor

Возвращает цвет переднего плана рисуемого элемента.

Graphics

Получает область графики для рисования элемента.

Index

Возвращает значение индекса рисуемого элемента.

State

Возвращает состояние рисуемого элемента.

Методы

Имя Описание
Dispose()

Выполняет определяемые приложением задачи, связанные с освобождением, освобождением или сбросом неуправляемых ресурсов.

Dispose(Boolean)

Предоставляет данные о событии DrawItem.

DrawBackground()

Рисует фон в пределах, указанных в конструкторе DrawItemEventArgs , и с соответствующим цветом.

DrawFocusRectangle()

Рисует прямоугольник фокуса в пределах границ, указанных в конструкторе DrawItemEventArgs .

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

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

Служит хэш-функцией по умолчанию.

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

Возвращает Type текущего экземпляра.

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

Создает неглубокую копию текущей Object.

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

Возвращает строку, представляющую текущий объект.

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

Явные реализации интерфейса

Имя Описание
IDeviceContext.GetHdc()

Возвращает дескриптор контексту устройства Windows.

IDeviceContext.ReleaseHdc()

Освобождает дескриптор контекста устройства Windows.

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

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