Siticone Logo
Siticone UI
DOCS
v2025.12.15
Docs CheckBox

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:
  • Classic: Standard filled box with rounded corners.
  • Material: Material Design inspired with ripple effects.
  • Minimal: Outline style where the checkmark is part of the border.
  • Circle: Circular radio-button style checkbox.
  • TickOnly: An animated checkmark without a box container.
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.

CheckedChanged Event
// Fired when the Checked property changes.
chkAgree.CheckedChanged += (s, e) => 
{
    btnSubmit.Enabled = e.IsChecked;
    
                if (e.IsChecked)
    {
                Console.WriteLine("User agreed to terms.");
    }
};
CheckStateChanged Event
// 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.

C# - Basic Setup
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.

C# - Container Item
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.

C# - Indeterminate Logic
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.

C# - Minimalist Theme
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();
}