CalendarControl.CustomDrawDayNumberCell Event
Provides the ability to custom paint dates in the Calendar control.
Namespace: DevExpress.XtraScheduler.Reporting
Assembly: DevExpress.XtraScheduler.v24.1.Reporting.dll
NuGet Package: DevExpress.Win.SchedulerReporting
Declaration
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. |
DateOnly | |
DateTime | |
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. |
Remarks
This code snippet illustrates how you can handle the CalendarControl.CustomDrawDayNumberCell
event of the CalendarControl to highlight each 12th day of the year, by enclosing it with a hollow violet rectangle.
private void calendarControl1_CustomDrawDayNumberCell(object sender,
DevExpress.XtraEditors.Calendar.CustomDrawDayNumberCellEventArgs e)
{
if (e.Date.DayOfYear % 12 == 0)
{
Pen p = e.Cache.GetPen(Color.Violet);
Rectangle r = e.Bounds;
r.Inflate(-2, 0);
r.Offset(3, 0);
e.Cache.DrawRectangle(p, r);
}
}
See Also