Kt Switch

A smooth, highly customizable toggle switch control for Modern WinForms supporting custom state styling and animations.

🟣 PREMIUM

This component is only available in the Premium version of KimTools.

Get KimTools

kt-switch-light kt-switch-dark

🟢 DESIGNER SUPPORT

This control has full Visual Studio design-time support.
Drag it from the Toolbox onto your form, customize its properties directly in the Properties window, and KimTools will generate the corresponding code for you.

StateOn

StateOn Kt-SwitchState Sets the visual properties of the ‘ON’ toggle state.

StateOff

StateOff Kt-SwitchState Sets the visual properties of the ‘OFF’ toggle state.

BorderRadius

BorderRadius Int32 Nullable Sets the Border radius.

BorderThickness

BorderThickness Int32 Nullable Sets the Border thickness.

Animation

Animation Int32 Sets the animation speed.

Customizing State Colors

Control the background, thumb, and border colors for active and inactive states independently using StateOn and StateOff.

🔴 🟡 🟢
var row = new Panel
{
    Width = 220,
    Height = 30,
    BackColor = Color.Transparent
};
	
var toggle = new KtSwitch
{
    Size = new Size(50, 24),
    Checked = true,
    StateOn = new KtSwitch.KtSwitchState
    {
        Bg = KtColor.SUCCESS,
        Thumb = KtColor.White,
        Border = KtColor.SUCCESS
    },
    StateOff = new KtSwitch.KtSwitchState
    {
        Bg = KtColor.NEUTRAL,
        Thumb = KtColor.White,
        Border = KtColor.NEUTRAL
    }
};
	
var label = new Label
{
    Text = "Success State Switch",
    AutoSize = true
};
	
row.Controls.Add(toggle);
row.Controls.Add(label);
	
toggle.Location = new Point(0, 3);
label.Location = new Point(toggle.Right + 10, 6);
Auto
Light
Dark

state-colors-light state-colors-dark

state-colors-light

state-colors-dark

Square & Custom Border Radii

Adjust overall border curvature with BorderRadius and thumb roundness with BorderRadiusThumb to create sleek rectangular toggle switches.

🔴 🟡 🟢
var row = new Panel
{
    Width = 220,
    Height = 30,
    BackColor = Color.Transparent
};
	
var toggle = new KtSwitch
{
    Size = new Size(52, 26),
    Checked = true,
    BorderRadius = 4,
    BorderRadiusThumb = 2,
    BorderThickness = 2,
    StateOn = new KtSwitch.KtSwitchState
    {
        Bg = KtColor.PRIMARY,
        Thumb = KtColor.White,
        Border = KtColor.PRIMARY
    }
};
	
var label = new Label
{
    Text = "Square Corner Style",
    AutoSize = true
};
	
row.Controls.Add(toggle);
row.Controls.Add(label);
	
toggle.Location = new Point(0, 2);
label.Location = new Point(toggle.Right + 10, 6);
Auto
Light
Dark

custom-radii-light custom-radii-dark

custom-radii-light

custom-radii-dark

API Reference

Bg Kt-Color Sets the Bg.
Thumb Kt-Color Sets the Thumb.
StateOff Kt-SwitchState Sets the visual properties of the ‘OFF’ toggle state.
StateOn Kt-SwitchState Sets the visual properties of the ‘ON’ toggle state.
Checked Boolean Sets a value indicating whether the Toggle Switch has been checked.
Animation Int32 Sets the animation speed.
ThumbMargin Int32 Sets the thumb’s (inner circle) padding.
BorderRadius Int32 Nullable Sets the Border radius.
BorderRadiusThumb Int32 Nullable Sets the Border radius thumb.
BorderThickness Int32 Nullable Sets the Border thickness.
Cursor Cursor The cursor that appears when the pointer moves over the control.