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”、“Orange”和“Plum”文本添加到 中。

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由所有者绘制控件(如 和 ComboBox 控件)ListBox引发。 它包含用户绘制指定项所需的所有信息,包括项目索引、 RectangleGraphics 应进行绘制的 。

构造函数

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

为带有指定的字体、状态、绘制表面和绘制边界的指定控件初始化 DrawItemEventArgs 类的新实例。

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

为带有指定的字体、状态、前景色、背景色、绘制表面和绘制边界的指定控件初始化 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 设备上下文的图柄。

适用于

另请参阅