Siticone CheckBox
The SiticoneCheckBox is a highly customizable replacement for the standard Windows Forms CheckBox.
It supports multiple visual styles (Classic, Material, Minimal, Circle), smooth state transitions, indeterminate states, and advanced container integration.
Visual Styles
Choose from a variety of pre-built visual styles to match your application's design language.
| Property | Type | Description |
|---|---|---|
Style |
CheckBoxStyle |
Determines the rendering mode:
|
CheckBoxSize |
int | The size (width/height) of the checkbox square (Default: 20). |
CheckmarkScale |
int | Controls the relative size of the checkmark icon inside the box (Default: 3). |
Colors & States
Full control over colors for every state: Checked, Unchecked, Hover, Pressed, and Indeterminate.
| Property | Type | Description |
|---|---|---|
CheckedBackColor |
Color | Background color when checked. |
UncheckedBackColor |
Color | Background color when unchecked. |
BorderColor |
Color | Color of the border when unchecked. |
CheckedBorderColor |
Color | Color of the border when checked. |
CheckmarkColor |
Color | Color of the checkmark symbol. |
HoverBackColor |
Color | Background color on mouse hover. |
Container Mode
The checkbox can render a "container" background around itself and its text label, behaving like a selectable button or list item.
| Property | Type | Description |
|---|---|---|
IsContained |
bool | Enables the container background. |
ContainerPadding |
int | Padding between the container edge and the content. |
ContainerBackColor |
Color | Background color of the container in idle state. |
ContainerCheckedColor |
Color | Background color of the container when checked. |
CornerRadius... |
int | Independent corner radii for the container (TopLeft, TopRight, etc.). |
Behavior & Interaction
| Property | Type | Description |
|---|---|---|
Checked |
bool | Gets or sets the checked state. Triggers animations when changed. |
AllowIndeterminate |
bool | Allows the checkbox to cycle through three states: Checked, Unchecked, Indeterminate. |
IsReadOnly |
bool | Prevents user interaction while maintaining visual state. |
CanShake |
bool | If ReadOnly, clicking the checkbox triggers a "No" shake animation. |
Events
Respond to user interaction.
// Fired when the Checked property changes.
chkAgree.CheckedChanged += (s, e) =>
{
btnSubmit.Enabled = e.IsChecked;
if (e.IsChecked)
{
Console.WriteLine("User agreed to terms.");
}
};
// Fired when the CheckState changes (supports Indeterminate).
chkOptions.CheckStateChanged += (s, e) =>
{
switch (e.State)
{
case CheckState.Checked:
SelectAllItems();
break;
case CheckState.Unchecked:
DeselectAllItems();
break;
case CheckState.Indeterminate:
// Handle partial selection logic
break;
}
};
Designer Support
The control includes a comprehensive Smart Tag menu in Visual Studio for rapid configuration.
| Category | Features |
|---|---|
Themes |
Apply one-click presets like Light, Dark, Modern Blue, Material Design, etc. |
Container Properties |
Quickly configure container padding, borders, and corner radius presets (Square, Rounded, Pill). |
Appearance |
Shortcuts for Text, CheckBox Size, and Border Width. |
Usage Examples
Example 1: Standard "Remember Me" Checkbox
A simple setup for a login form.
private void SetupLoginCheckbox()
{
chkRemember.Text = "Remember Me";
chkRemember.Style = CheckBoxStyle.Material;
// Visuals
chkRemember.CheckedBackColor = Color.DodgerBlue;
chkRemember.UncheckedBackColor = Color.White;
chkRemember.BorderColor = Color.Gray;
}
Example 2: Selectable List Item (Container Mode)
Using the container mode to create a rich, selectable item that highlights when checked.
private void SetupListItem()
{
chkItem.IsContained = true;
chkItem.Text = "Premium Subscription\n$9.99/month";
chkItem.ContainerPadding = 10;
// Idle State
chkItem.ContainerBackColor = Color.White;
chkItem.ContainerBorderColor = Color.LightGray;
// Checked State (Blue Highlight)
chkItem.ContainerCheckedColor = Color.FromArgb(230, 240, 255);
chkItem.ContainerCheckedBorderColor = Color.DodgerBlue;
// Fully rounded corners
chkItem.SetPillShapedContainer();
}
Example 3: Indeterminate "Select All"
Configuring a master checkbox for a list of items.
private void SetupMasterCheckbox()
{
chkAll.AllowIndeterminate = true;
chkAll.Text = "Select All Items";
// Custom Indeterminate Color
chkAll.IndeterminateColor = Color.Orange;
// Logic to update state based on child items
void UpdateMasterState(int selectedCount, int totalCount)
{
if (selectedCount == 0)
chkAll.CheckState = CheckState.Unchecked;
else if (selectedCount == totalCount)
chkAll.CheckState = CheckState.Checked;
else
chkAll.CheckState = CheckState.Indeterminate;
}
}
Example 4: Minimalist Style
Creating a clean, modern look with the Minimal style.
private void ApplyMinimalLook()
{
chkOption.Style = CheckBoxStyle.Minimal;
// In Minimal mode, the checkmark is drawn using the border color
chkOption.BorderColor = Color.Gray;
chkOption.CheckedBackColor = Color.Black; // Acts as the "active" color
// Sharp corners
chkOption.SetSquareCorners();
}