DrawItemEventArgs Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides data for the DrawItem
event.
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
- Inheritance
- Derived
- Implements
Examples
The following example demonstrates how to create owner-drawn ListBox items. 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. The example code uses the properties and methods of the DrawItemEventArgs class passed as a parameter to the event handler to draw the items. 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. 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
Remarks
The DrawItem
event is raised by owner draw controls, such as the ListBox and ComboBox controls. 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.
Constructors
DrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState, Color, Color) |
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. |
DrawItemEventArgs(Graphics, Font, Rectangle, Int32, DrawItemState) |
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. |
Properties
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. |
Methods
Dispose() |
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. |
Dispose(Boolean) | |
DrawBackground() |
Draws the background within the bounds specified in the DrawItemEventArgs constructor and with the appropriate color. |
DrawFocusRectangle() |
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. (Inherited from Object) |
GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
GetType() |
Gets the Type of the current instance. (Inherited from Object) |
MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
ToString() |
Returns a string that represents the current object. (Inherited from Object) |
Explicit Interface Implementations
IDeviceContext.GetHdc() |
Returns the handle to a Windows device context. |
IDeviceContext.ReleaseHdc() |
Releases the handle of a Windows device context. |