Siticone Logo
Siticone UI
DOCS
v2025.12.15
Docs Tab Control

Siticone Tab Control

The SiticoneTabControl is a high-performance, highly customizable tab container designed for modern Windows Forms applications. It extends the standard functionality with features like tab pinning, drag-and-drop reordering, close buttons, icons, and a rich animation system for interactions.

Behavior & Interaction

Controls how users interact with the tabs, including reordering, closing, and pinning.

Property Type Description & Usage Example
AllowTabReorder bool tabs.AllowTabReorder = true; Enables dragging tabs to rearrange their order.
AllowPinning bool tabs.AllowPinning = true; Allows users to "pin" tabs to the left side via context menu, preventing them from scrolling.
EnableMouseWheelTabSwitch bool tabs.EnableMouseWheelTabSwitch = true; Allows switching between tabs by scrolling the mouse wheel over the tab header area.

Appearance & Styling

Customize the look of the tab headers, text, and indicators.

Property Type Description & Usage Example
TabWidth int tabs.TabWidth = 180; Fixed width for all tabs.
AutoSizeTabWidth bool tabs.AutoSizeTabWidth = true; Automatically adjusts each tab's width to fit its text and icon content.
SelectedTabIndicatorColor Color tabs.SelectedTabIndicatorColor = Color.DodgerBlue; Color of the line or bar indicating the active tab.
SelectedTabIndicatorHeight int tabs.SelectedTabIndicatorHeight = 4;
SelectedTabBackColor Color tabs.SelectedTabBackColor = Color.White;
UnselectedTabColor Color tabs.UnselectedTabColor = Color.FromArgb(245, 245, 245);

Close Buttons

Configuration for the individual close buttons on tabs.

Property Type Description & Usage Example
CloseButtonPosition Enum tabs.CloseButtonPosition = TabCloseButtonPosition.Right; Left, Right, or Center alignment.
CloseButtonColor Color tabs.CloseButtonColor = Color.Gray;
CloseButtonHoverColor Color tabs.CloseButtonHoverColor = Color.Red;
CloseButtonSize int tabs.CloseButtonSize = 16;

Effects & Animation

Visual feedback settings for user interactions.

Property Type Description & Usage Example
EnableHoverEffects bool tabs.EnableHoverEffects = true; Shows a highlight or glow when mouse enters a tab area.
EnableRippleEffects bool tabs.EnableRippleEffects = true; Shows a material-design ripple animation on click.
RippleColor Color tabs.RippleColor = Color.FromArgb(50, Color.Black);
EnablePulseEffects bool tabs.EnablePulseEffects = true; Selected tab pulses briefly when activated.

Public Methods

Control tab features programmatically via extended properties.

SetCanCloseTab(TabPage, bool)
// Enable the close button for a specific tab page.
siticoneTabControl1.SetCanCloseTab(tabPage1, true);

// Disable it for a permanent tab (like Home)
siticoneTabControl1.SetCanCloseTab(tabPageHome, false);
SetPinned(TabPage, bool)
// Pin a tab to the left side.
siticoneTabControl1.SetPinned(tabPage1, true);
SetTabImage(TabPage, Image)
// Set an icon for a specific tab page.
siticoneTabControl1.SetTabImage(tabPage1, Properties.Resources.IconSettings);

Detailed Usage Examples

Example 1: Browser-Style Tabs

Creates a dynamic tab interface where tabs can be closed, reordered, and pinned, similar to a web browser.

C# - Browser Tabs
private void InitializeBrowserTabs()
{
                // Enable browser-like features
    siticoneTabControl1.AllowTabReorder = true;
    siticoneTabControl1.AllowPinning = true;
    siticoneTabControl1.AutoSizeTabWidth = true;
    
                // Close button styling
    siticoneTabControl1.CloseButtonPosition = TabCloseButtonPosition.Right;
    siticoneTabControl1.CloseButtonHoverColor = Color.Red;
    
                // Add initial tabs
                for (int i = 1; i <= 3; i++)
    {
                var page = new TabPage($"New Tab {i}");
        siticoneTabControl1.TabPages.Add(page);
        
                // Make them closable
        siticoneTabControl1.SetCanCloseTab(page, true);
    }
    
                // Add a persistent 'Home' tab that cannot be closed
                var homePage = new TabPage("Home");
    siticoneTabControl1.TabPages.Insert(0, homePage);
    siticoneTabControl1.SetCanCloseTab(homePage, false);
    siticoneTabControl1.SetPinned(homePage, true); // Pin to start
}

Example 2: Material Design Theme

Configures the tab control to match Google's Material Design guidelines with ripples and an indicator bar.

C# - Material Theme
private void ApplyMaterialTheme()
{
                // Flat styling
    siticoneTabControl1.SelectedTabBackColor = Color.White;
    siticoneTabControl1.UnselectedTabColor = Color.FromArgb(250, 250, 250);
    siticoneTabControl1.BorderColor = Color.Transparent;
    
                // Active Indicator (Blue line at bottom)
    siticoneTabControl1.SelectedTabIndicatorColor = Color.FromArgb(33, 150, 243);
    siticoneTabControl1.SelectedTabIndicatorHeight = 3;
    
                // Text Colors
    siticoneTabControl1.SelectedTextColor = Color.FromArgb(33, 150, 243);
    siticoneTabControl1.UnselectedTextColor = Color.Gray;
    
                // Effects
    siticoneTabControl1.EnableRippleEffects = true;
    siticoneTabControl1.RippleColor = Color.FromArgb(40, 0, 0, 0);
    siticoneTabControl1.EnableHoverEffects = true;
    
                // Tab Shape
    siticoneTabControl1.TabCornerRadiusTopLeft = 0;
    siticoneTabControl1.TabCornerRadiusTopRight = 0;
    siticoneTabControl1.TabWidth = 160;
}

Example 3: Context Menu Handling

The control includes a built-in context menu for pinning and closing. This example shows how to add items dynamically.

C# - Custom Context Actions
// Access the internal context menu via reflection or modifying source 
// to customize right-click behavior if needed beyond defaults.
// The built-in menu automatically handles:
// - Close Tab
// - Close Other Tabs
// - Close Tabs to Right
// - Pin/Unpin Tab

// No extra code needed! Just enable Pinning to see the menu options.
siticoneTabControl1.AllowPinning = true;