Skip to main content

CalendarControlBase.CustomDrawDayNumberCell Event

Occurs when drawing each day cell in the calendar.

Namespace: DevExpress.XtraEditors.Controls

Assembly: DevExpress.XtraEditors.v24.1.dll

NuGet Package: DevExpress.Win.Navigation


public event CustomDrawDayNumberCellEventHandler CustomDrawDayNumberCell

Event Data

The CustomDrawDayNumberCell event's data class is CustomDrawDayNumberCellEventArgs. The following properties provide information specific to this event:

Property Description
BackgroundElementInfo Gets or sets the skin element that is used to paint the background of the currently processed cell.
Bounds Gets the painted element’s bounding rectangle.
ContentBounds Gets the bounds of the cell’s content (text).
Date Gets the painted cell’s value.
Disabled Gets whether the painted cell is disabled.
Highlighted Gets whether the currently processed cell is under the mouse cursor.
Holiday Gets whether the painted cell corresponds to Saturday or Sunday.
Inactive Gets whether the painted cell belongs to the previous or next month.
IsPressed Gets whether the cell is currently pressed.
IsSpecial Gets whether the cell corresponds to a “special” date.
Selected Gets a value indicating whether the processed day number cell is selected.
State Gets the current cell’s state.
Style Gets the painted date cell’s appearance settings.
Today Gets whether the painted cell corresponds to Today’s date.
View Gets or sets the current View of data in the dropdown window.
ViewInfo Contains information used for painting the current cell.


The CustomDrawDayNumberCell event fires when a day cell in the calendar is about to be painted. Handle this event, for instance, if you wish to custom paint particular dates, e.g. by highlighting them.

If you custom paint day cells using the CustomDrawDayNumberCell event, set the Handled parameter to true to prevent the default painting mechanism from being invoked after your CustomDrawDayNumberCell event handler is completed. Otherwise, your painting will be overridden by the default painting mechanism.


You can use drawing methods provided by the e.Graphics object to paint custom information in your CustomDrawDayNumberCell event handler.

Alternatively, you can use drawing methods provided by the e.Cache or e.Style objects. If using the methods provided by the e.Cache or e.Style objects, ensure that the static DevExpress.Utils.Paint.XPaint.ForceGDIPlusPaint method is called on the application startup. Otherwise, you may observe incorrect painting on some operating systems (e.g. Windows 7).

See Also