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

Siticone Day of Week Picker

The SiticoneDayOfWeekPicker is an intuitive selection control that allows users to pick days of the week (Sunday through Saturday). It is specifically designed for scheduling applications, repeating alarms, or any scenario requiring weekly recurrence settings.

Selection & Data

Configure the selection behavior and access the user's choices.

Property Type Description
SelectionMode DaySelectionMode
  • Single: User can select only one day (e.g., "Start of week").
  • Multiple: User can toggle multiple days (e.g., "Work days").
SelectedDay DayOfWeek? The currently selected day in Single mode. Returns null if nothing is selected.
SelectedDays List<DayOfWeek> A list of all currently selected days. Useful for retrieving the full schedule in Multiple mode.

Visual Styling

Customize the appearance of day cells to match your UI theme.

Property Type Description
DayCellBackColor Color The background color of an unselected day.
DayCellForeColor Color The text color of an unselected day (e.g., "M", "T", "W").
SelectedCellBackColor Color The background color when a day is selected.
SelectedCellForeColor Color The text color when a day is selected.
HoverCellBackColor Color Highlight color when the mouse hovers over a day.
GridColor Color The color of the separator lines between days (if visible).

Layout & Dimensions

Fine-tune the size and spacing of the day cells.

Property Type Description
CellSize Size The fixed width and height of each day cell.
CellPadding int The spacing (gap) between adjacent day cells.
CornerRadius int Controls the roundness of the control's border.
ShowGridLines bool If true, draws dividing lines between the day columns.

Events

Respond immediately when the user changes their selection.

SelectedDayChanged Event
// Fired whenever a day is clicked (selected or deselected).
weekPicker.SelectedDayChanged += (s, e) => 
{
                // Handle Single Selection
                if (weekPicker.SelectionMode == DaySelectionMode.Single)
    {
                Console.WriteLine($"Start Day: {weekPicker.SelectedDay}");
    }
    
                // Handle Multiple Selection
                else
    {
                var days = weekPicker.SelectedDays;
                Console.WriteLine($"Days selected: {days.Count}");
        
                if (days.Contains(DayOfWeek.Saturday) || days.Contains(DayOfWeek.Sunday))
        {
            lblStatus.Text = "Weekends included.";
        }
    }
};

Designer Support

The control features a Smart Tag menu for rapid configuration in the Visual Studio designer.

Category Features
Theme Presets Apply professional styles instantly: Light, Dark, Corporate Blue, Forest Green, Sunset Orange.
Mode Switching Quickly toggle between Single and Multiple selection logic.
Data Management Copy style settings from one picker and paste them to another.

Usage Examples

Example 1: Business Days Selection

Configure the picker to allow users to select their working days.

C# - Work Week
private void SetupWorkWeekPicker()
{
                // Allow multiple days
    weekPicker.SelectionMode = DaySelectionMode.Multiple;
    
                // Pre-select Mon-Fri
    weekPicker.SelectedDays = new List<DayOfWeek> 
    { 
                DayOfWeek.Monday, 
                DayOfWeek.Tuesday, 
                DayOfWeek.Wednesday, 
                DayOfWeek.Thursday, 
                DayOfWeek.Friday 
    };
    
                // Style selected days with a professional blue
    weekPicker.SelectedCellBackColor = Color.FromArgb(0, 120, 215);
    weekPicker.SelectedCellForeColor = Color.White;
}

Example 2: First Day of Week Preference

A single-select picker for a settings panel where users choose their preferred start of the week.

C# - Single Option
private void SetupStartDayPicker()
{
    weekPicker.SelectionMode = DaySelectionMode.Single;
    
                // Default to Monday
    weekPicker.SelectedDay = DayOfWeek.Monday;
    
                // Handle change
    weekPicker.SelectedDayChanged += (s, e) => 
    {
                Properties.Settings.Default.FirstDayOfWeek = weekPicker.SelectedDay;
                Properties.Settings.Default.Save();
    };
}

Example 3: Dark Theme Setup

Manually applying a dark theme style to the control.

C# - Dark Styling
private void ApplyDarkTheme()
{
    weekPicker.BackColor = Color.FromArgb(45, 45, 48);
    weekPicker.GridColor = Color.FromArgb(60, 60, 60);
    
    weekPicker.DayCellBackColor = Color.FromArgb(50, 50, 50);
    weekPicker.DayCellForeColor = Color.LightGray;
    
    weekPicker.SelectedCellBackColor = Color.FromArgb(0, 122, 204); // VS Blue
    weekPicker.SelectedCellForeColor = Color.White;
    
    weekPicker.HoverCellBackColor = Color.FromArgb(70, 70, 70);
}