DrawItemEventArgs 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
为 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
- 继承
- 派生
- 实现
示例
以下示例演示如何创建所有者绘制 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引发。 它包含用户绘制指定项所需的所有信息,包括项目索引、 Rectangle和 Graphics 应进行绘制的 。
构造函数
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) |
为 |
DrawBackground() |
在 DrawItemEventArgs 构造函数指定的边界范围内用适当的颜色绘制背景。 |
DrawFocusRectangle() |
在 DrawItemEventArgs 构造函数指定的边界范围内绘制聚焦框。 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |
显式接口实现
IDeviceContext.GetHdc() |
返回 Windows 设备上下文的图柄。 |
IDeviceContext.ReleaseHdc() |
释放 Windows 设备上下文的图柄。 |