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 |
|
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.
// 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.
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.
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.
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);
}