ListBoxDrawItemEventArgs.Index Property
Gets the index of the item being painted.
Namespace: DevExpress.XtraEditors
Assembly: DevExpress.XtraEditors.v19.1.dll
Declaration
Property Value
Type | Description |
---|---|
Int32 | An integer value representing the zero-based index of the item being painted. |
Remarks
Use the Index property to obtain the processed item’s index. It can be useful, for instance, when you need to custom paint an individual item.
You can also use the event parameter’s ListBoxDrawItemEventArgs.Item and ListBoxDrawItemEventArgs.State properties to obtain the item’s value and state.
Example
The following sample code handles the BaseListBoxControl.DrawItem event to custom paint the items displayed within the ListBoxControl. The odd and even items are painted with different appearance settings. A specific painting is applied to the currently selected item.
The image below shows the result.
using DevExpress.XtraEditors;
private void listBoxControl1_DrawItem(object sender, ListBoxDrawItemEventArgs e) {
Brush backBrush1 = new SolidBrush(Color.FromArgb(224, 251, 254));
Brush backBrush2 = new SolidBrush(Color.FromArgb(198, 241, 249));
Brush backBrush3 = new SolidBrush(Color.FromArgb(253, 192, 47));
// declare field representing the text of the item being drawn
string itemText = (sender as ListBoxControl).GetItemText(e.Index);
if ((e.State & DrawItemState.Selected) != 0){
e.Cache.FillRectangle(backBrush3, e.Bounds);
ControlPaint.DrawBorder3D(e.Graphics, e.Bounds);
e.Cache.DrawString(itemText, new Font(e.Appearance.Font.Name,
e.Appearance.Font.Size, FontStyle.Bold), new SolidBrush(Color.Black),
e.Bounds, e.Appearance.GetStringFormat());
e.Handled = true;
return;
}
if(e.Index % 2 == 0){
e.Cache.FillRectangle(backBrush1, e.Bounds);
}
else{
e.Cache.FillRectangle(backBrush2, e.Bounds);
}
e.Cache.DrawString(itemText, e.Appearance.Font, new SolidBrush(Color.Black),
e.Bounds, e.Appearance.GetStringFormat());
e.Handled = true;
}
Related GitHub Examples
The following code snippets (auto-collected from DevExpress Examples) contain references to the Index property.
Note
The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.