Siticone Logo
Siticone UI
DOCS
v2025.12.15
Docs Material Checkbox

Siticone Material CheckBox

The SiticoneMaterialCheckBox is a stylish and interactive checkbox control that follows Material Design guidelines. It features a smooth drawing animation for the checkmark, an expanding ripple effect on click, and comprehensive state management including Indeterminate (ThreeState) support.

Visual Appearance

Customize the colors for every state of the checkbox to match your application's theme perfectly.

Property Type Description
ActiveCheckboxColor Color The background fill color when the checkbox is checked (Default: Blue).
IdleCheckboxBorderColor Color The border color when the checkbox is unchecked.
CheckMarkColor Color The color of the checkmark tick or indeterminate dash.
TextColor Color The color of the label text associated with the checkbox.
DisabledColor Color The color used for border and text when Enabled is false.
ReadOnlyColor Color The color used when ReadOnly is true.

Dimensions & Layout

Control the size, spacing, and stroke width of the checkbox elements.

Property Type Description
CheckBoxSize int The width and height of the square box (Default: 18).
CornerRadius int The roundness of the checkbox corners. Set to 0 for sharp corners, or higher for rounded/circular looks.
BorderSize int The thickness of the box border when unchecked.
CheckMarkThickness float The thickness of the checkmark stroke inside the box.
LeftPadding int The margin between the left edge of the control and the checkbox.

Ripple & Animation

Configure the signature Material Design ripple effect and other animations.

Property Type Description
EnableRippleEffect bool Enables the expanding circular animation on click.
RippleExpansionFactor float Determines how large the ripple grows relative to the checkbox size (e.g., 2.5x).
CheckingRippleColor Color The ripple color used when transitioning to the Checked state.
UncheckingRippleColor Color The ripple color used when transitioning to the Unchecked state.
AnimationDuration int The duration (ms) of the checkmark drawing animation.

Behavior & Interaction

Manage state, interactivity, and feedback.

Property Type Description
Checked bool Gets or sets whether the checkbox is checked.
ThreeState bool If true, the checkbox can cycle through Checked, Unchecked, and Indeterminate states.
CheckState CheckState The current state (Unchecked, Checked, Indeterminate).
ReadOnly bool Prevents the user from changing the state while keeping the control enabled.
CanShake bool If true, the control shakes when clicked in ReadOnly mode.
UltraFastMode bool Disables animations for maximum performance in data-heavy lists.

Events

Events for state changes and interactions.

CheckedChanged Event
// Fired when the Checked property changes.
matCheck.CheckedChanged += (s, e) => 
{
                if (matCheck.Checked)
    {
                EnableOptions();
    }
};
CheckStateChanged Event
// Fired when the CheckState changes (useful for ThreeState logic).
matCheck.CheckStateChanged += (s, e) => 
{
                // e.CheckState contains the new state
                if (e.CheckState == CheckState.Indeterminate)
    {
                HandlePartialSelection();
    }
};
ReadOnlyInteractionAttempted Event
// Fired when a user tries to click a ReadOnly checkbox.
matCheck.ReadOnlyInteractionAttempted += (s, e) => 
{
                MessageBox.Show("This setting is controlled by admin policies.");
};

Designer Support

Includes a Smart Tag menu for quick configuration.

Category Features
Themes Apply presets: Light, Dark, Material Blue, Green, Orange, Red, Purple.
Animation Presets for Fast, Normal, and Slow animations. Toggle ripple effect.
Corner Radius Presets for Square, Rounded, and Circular shapes.
Settings Copy/Paste styles between controls.

Usage Examples

Example 1: Standard Material Checkbox

A standard setup with Material Blue colors.

C# - Material Theme
private void SetupMaterialCheckbox()
{
    matCheck.Text = "Accept Terms";
    
                // Apply Blue Theme
    matCheck.ActiveCheckboxColor = Color.FromArgb(33, 150, 243);
    matCheck.CheckingRippleColor = Color.FromArgb(33, 150, 243);
    
                // Standard Radius
    matCheck.CornerRadius = 4;
}

Example 2: Three-State "Select All"

Handling a "Select All" checkbox with an Indeterminate state.

C# - Three State
private void SetupSelectAll()
{
    chkAll.ThreeState = true;
    chkAll.Text = "Select All";
    
                // Customize Indeterminate Dash
    chkAll.CheckMarkThickness = 3.0f;
}

private void UpdateMasterCheck(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 3: Circular Checkbox (Radio Style)

Making the checkbox round to mimic a radio button or selection dot.

C# - Circle Style
private void SetupCircleCheckbox()
{
    chkCircle.CheckBoxSize = 20;
    chkCircle.CornerRadius = 10; // Half of size = Circle
    
                // Green Theme
    chkCircle.ActiveCheckboxColor = Color.FromArgb(76, 175, 80);
    chkCircle.CheckingRippleColor = Color.FromArgb(76, 175, 80);
}

Example 4: High Performance Grid

Configuring for speed when displaying many checkboxes in a list.

C# - Performance
private void ConfigureGridItem(SiticoneMaterialCheckBox chk)
{
    chk.UltraFastMode = true; // Disables animations
    chk.EnableRippleEffect = false;
    
                // Simple look
    chk.CornerRadius = 2;
    chk.BorderSize = 1;
}