ComboBoxEdit.DrawItem Event
Provides the ability to custom paint the items displayed within the combo box editor’s drop down.
Namespace: DevExpress.XtraEditors
Assembly: DevExpress.XtraEditors.v24.2.dll
Declaration
Event Data
The DrawItem event's data class is ListBoxDrawItemEventArgs. The following properties provide information specific to this event:
Property | Description |
---|---|
AllowDrawSkinBackground | Gets or sets whether the item background is colored according to the currently applied skin. |
Appearance | Gets the appearance settings used to paint the item currently being processed. |
Bounds | Gets the bounding rectangle of the item being painted. |
Index | Gets the index of the item being painted. |
Item | Gets the value of the processed item. |
PaintArgs | |
State | Gets the state of the item being painted. |
Remarks
Handle the DrawItem event to override the default item painting. This event is raised each time an item is about to be painted. The event parameter’s properties allow you to identify the processed item, its boundaries, state, appearance settings, etc. You must set the Handled
property to true to override the default painting.
Example
The following sample code handles the ComboBoxEdit.DrawItem
event to custom paint the currently selected item. The result is shown in the image below:
using System.Drawing.Drawing2D;
using DevExpress.XtraEditors;
private void comboBoxEdit1_DrawItem(object sender, ListBoxDrawItemEventArgs e) {
if(e.State != DrawItemState.Selected) return;
using(var backBrush = new LinearGradientBrush(e.Bounds, Color.Blue, Color.LightBlue,
LinearGradientMode.Horizontal))
e.Cache.FillRectangle(backBrush, e.Bounds);
e.Cache.DrawString(e.Item.ToString(), e.Appearance.Font, Brushes.White,
e.Bounds);
e.Handled = true;
}