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.
// 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);
// Pin a tab to the left side.
siticoneTabControl1.SetPinned(tabPage1, true);
// 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.
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.
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.
// 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;