Siticone Logo
Siticone UI
DOCS
v2025.12.15
Docs Day of Month Picker

Siticone Day of Month Picker

The SiticoneDayOfMonthPicker is a specialized UI control designed for selecting specific days within a month. Perfect for applications managing billing cycles, subscription dates, or recurring monthly events (e.g., "Every 15th of the month"). It supports single and multiple selections, with a modern grid layout.

Data Handling

Configure how days are selected and retrieve the user's choices.

Property Type Description
SelectionMode DaySelectionMode
  • Single: Only one day can be selected at a time.
  • Multiple: Users can toggle multiple days on/off.
SelectedDay int? The currently selected day (1-31) in Single mode. Returns null if nothing is selected.
SelectedDays List<int> A list of all selected days (1-31) in Multiple mode.

Visual Style

Customize the grid appearance to match your application's theme.

Property Type Description
GridColor Color Color of the lines separating the days in the grid.
DayCellBackColor Color Background color for unselected day cells.
DayCellForeColor Color Text color for unselected day cells.
SelectedCellBackColor Color Background color for selected day cells.
SelectedCellForeColor Color Text color for selected day cells.
HoverCellBackColor Color Background color when the mouse hovers over a cell.

Layout & Appearance

Control the physical structure of the picker.

Property Type Description
CellSize Size The width and height of each individual day cell.
CellPadding int Spacing between cells.
CornerRadius int Rounding radius for the main control border.
ShowGridLines bool Toggles the visibility of grid lines between cells.

Events

React to user selections in real-time.

SelectedDayChanged Event
// Fired when a day is selected or deselected.
dayPicker.SelectedDayChanged += (s, e) => 
{
                if (dayPicker.SelectionMode == DaySelectionMode.Single)
    {
                Console.WriteLine($"New billing day: {dayPicker.SelectedDay}");
    }
                else
    {
                Console.WriteLine($"Selected days count: {dayPicker.SelectedDays.Count}");
    }
};

Designer Support

The control includes a Smart Tag menu for quick styling.

Category Features
Theme Presets Apply predefined styles: Light, Dark, Blue, Green, Purple, Sunset Orange.
Mode Switching Quickly toggle between Single and Multiple selection modes.
Data Copy and Paste settings between controls.

Usage Examples

Example 1: Monthly Subscription Date

Allow a user to pick a single day of the month for their billing cycle.

C# - Single Selection
private void SetupBillingPicker()
{
    dayPicker.SelectionMode = DaySelectionMode.Single;
    
                // Style to look professional
    dayPicker.ApplyCorporateBlueTheme(); 
    
    dayPicker.SelectedDayChanged += (s, e) => 
    {
                if (dayPicker.SelectedDay.HasValue)
        {
            lblStatus.Text = $"Billing will occur on day {dayPicker.SelectedDay} of every month.";
        }
    };
}

Example 2: Recurring Schedule

Select multiple days for a recurring task (e.g., "Run report on 1st, 15th, and 30th").

C# - Multiple Selection
private void SetupReportSchedule()
{
    dayPicker.SelectionMode = DaySelectionMode.Multiple;
    
                // Pre-select common days
    dayPicker.SelectedDays = new List<int> { 1, 15, 30 };
    
                // Custom styling
    dayPicker.SelectedCellBackColor = Color.Orange;
    dayPicker.SelectedCellForeColor = Color.White;
}

Example 3: Dark Theme Implementation

Applying a dark theme programmatically.

C# - Dark Theme
private void ApplyDarkTheme()
{
    dayPicker.BackColor = Color.FromArgb(30, 30, 30);
    dayPicker.GridColor = Color.FromArgb(50, 50, 50);
    
    dayPicker.DayCellBackColor = Color.FromArgb(40, 40, 40);
    dayPicker.DayCellForeColor = Color.LightGray;
    
    dayPicker.SelectedCellBackColor = Color.FromArgb(0, 120, 215);
    dayPicker.SelectedCellForeColor = Color.White;
    
    dayPicker.HoverCellBackColor = Color.FromArgb(60, 60, 60);
}