Skip to main content

syncfusion-winforms-xptaskbar

How to create and configure Syncfusion XPTaskBar controls in Windows Forms applications. Use this skill whenever the user needs to implement expandable task panels, create Windows XP-style task menus, build collapsible navigation panels, configure multi-box task bars, or customize task bar behavior with animations and events. Covers basic setup, box/item management, layout modes, events, customization, and spacing configuration.

Source facts

Repository
syncfusion/winforms-ui-components-skills
Last source activity
October 21, 2026 at 07:32
Detected SKILL.md language
English
Stars
2
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
8 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
syncfusion-winforms-xptaskbar
description
How to create and configure Syncfusion XPTaskBar controls in Windows Forms applications. Use this skill whenever the user needs to implement expandable task panels, create Windows XP-style task menus, build collapsible navigation panels, configure multi-box task bars, or customize task bar behavior with animations and events. Covers basic setup, box/item management, layout modes, events, customization, and spacing configuration.
metadata
{"author":"Syncfusion Inc","version":"34.1.29"}
# Implementing XPTaskBar in Windows Forms ## Table of Contents - [When to Use This Skill](#when-to-use-this-skill) - [Component Overview](#component-overview) - [Quick Start Example](#quick-start-example) - [Documentation Navigation Guide](#documentation-navigation-guide) - [Common Patterns](#common-patterns) - [Key Configuration Properties](#key-configuration-properties) ## When to Use This Skill Use XPTaskBar when you need to: - **Create expandable task panels** - Display command items or features in collapsible grouped boxes - **Build Windows XP-style menus** - Recreate the classic task sidebar UI pattern - **Organize navigation hierarchically** - Group related commands into categorized boxes - **Implement interactive task lists** - Allow users to expand/collapse task categories with animations - **Add custom animations and events** - Control expand/collapse behavior and respond to user interactions ## Component Overview **XPTaskBar** is a Windows Forms control that displays command items organized within collapsible boxes, mimicking the Windows XP task sidebar. The component hierarchy includes: - **XPTaskBar** - Main container control that can hold multiple boxes - **XPTaskBarBox** - Collapsible section with header and items area - **XPTaskBarItem** - Individual command items displayed within a box ### Key Features - **Hierarchical layout** - Organize items into categorized boxes - **Collapse/expand animation** - Smooth transitions with configurable animation speed - **Multiple layout modes** - Vertical (default) or horizontal orientation - **State persistence** - Remember expanded/collapsed state across sessions - **Rich customization** - Control colors, fonts, images, and spacing - **Event-driven** - Handle clicks, animations, and state changes - **Child control support** - Host panels and other controls within boxes ## Quick Start Example ```csharp using Syncfusion.Windows.Forms.Tools; // Create XPTaskBar control XPTaskBar xpTaskBar1 = new XPTaskBar(); xpTaskBar1.Dock = DockStyle.Fill; this.Controls.Add(xpTaskBar1); // Create first task box XPTaskBarBox box1 = new XPTaskBarBox(); box1.Text = "File Operations"; xpTaskBar1.Controls.Add(box1); // Add items to the box box1.Items.AddRange(new XPTaskBarItem[] { new XPTaskBarItem("New Document", System.Drawing.Color.Empty, -1, "NewDoc"), new XPTaskBarItem("Open File", System.Drawing.Color.Empty, -1, "OpenFile"), new XPTaskBarItem("Save", System.Drawing.Color.Empty, -1, "Save") }); // Handle item clicks box1.ItemClick += (sender, e) => { switch (e.XPTaskBarItem.Tag as string) { case "NewDoc": // Handle new document break; case "OpenFile": // Handle file open break; } }; // Create second task box XPTaskBarBox box2 = new XPTaskBarBox(); box2.Text = "Editing Tools"; xpTaskBar1.Controls.Add(box2); box2.Items.AddRange(new XPTaskBarItem[] { new XPTaskBarItem("Cut", System.Drawing.Color.Empty, -1, "Cut"), new XPTaskBarItem("Copy", System.Drawing.Color.Empty, -1, "Copy"), new XPTaskBarItem("Paste", System.Drawing.Color.Empty, -1, "Paste") }); ``` ## Documentation Navigation Guide Read the reference documentation in the order that matches your implementation needs: ### Getting Started 📄 **Read:** [references/getting-started.md](references/getting-started.md) - Assembly and package dependencies - Adding control via designer or code - Basic XPTaskBar, box, and item setup - Assembly references required ### Building the Structure 📄 **Read:** [references/box-structure.md](references/box-structure.md) - XPTaskBar box hierarchy and anatomy - Header customization (text, font, alignment, direction) - Collapse/expand button configuration - Integrating child panels and controls 📄 **Read:** [references/items-and-content.md](references/items-and-content.md) - Creating and managing XPTaskBarItems - Working with Items collection - Item properties and configuration - Hosting nested controls with PreferredChildPanelHeight ### Layout and Orientation 📄 **Read:** [references/layout-orientation.md](references/layout-orientation.md) - Vertical layout mode (default) - Horizontal layout mode and column width - Switching orientations dynamically - Responsive layout behavior ### Behavior and Interactivity 📄 **Read:** [references/behavior-and-events.md](references/behavior-and-events.md) - Animation configuration and timing - Collapse/expand event handling - ItemClick event with Tag-based routing - State preservation (AutoPersistStates) - Drag-and-drop support - Event examples and patterns ### Appearance and Customization 📄 **Read:** [references/appearance-customization.md](references/appearance-customization.md) - Header color and forecolor customization - Font styling for headers - Brush customization via ProvideHeaderBackgroundBrush and ProvideItemsBackgroundBrush events - Adding images to headers and items - Tooltip configuration and display - Custom background drawing techniques ### Spacing and Scrolling 📄 **Read:** [references/padding-spacing-scrolling.md](references/padding-spacing-scrolling.md) - XPTaskBar interior padding (DockPadding, HorizontalPadding, VerticalPadding) - Box header padding (PADX, PADY) - Auto-scroll behavior - Scroll margin and minimum size configuration ## Common Patterns ### Pattern 1: Multi-Box Task Menu Create a sidebar with multiple collapsible task categories: ```csharp var taskBar = new XPTaskBar { VerticalLayout = true }; // Create boxes for different task categories foreach (var category in new[] { "File", "Edit", "View", "Help" }) { var box = new XPTaskBarBox { Text = category }; taskBar.Controls.Add(box); // Add items to box } ``` ### Pattern 2: Item Click Routing Use the Tag property to implement event routing: ```csharp box.ItemClick += (sender, e) => { var command = e.XPTaskBarItem.Tag as string; ExecuteCommand(command); }; ``` ### Pattern 3: Stateful Persistence Remember user preferences across sessions: ```csharp xpTaskBar1.AutoPersistStates = true; ``` ### Pattern 4: Animated State Changes Control animation behavior during expand/collapse: ```csharp box.AnimationDelay = 50; // Milliseconds between frames box.AnimationPositionsCount = 15; // Number of animation steps box.UseAdditionalAnimation = true; // Animate when adding/removing items ``` ## Key Configuration Properties ### XPTaskBar Level | Property | Type | Purpose | |----------|------|---------| | `VerticalLayout` | bool | Set true for vertical mode (default), false for horizontal | | `ColWidthOnHorizontalAlignment` | int | Column width in horizontal layout mode | | `HorizontalPadding` | int | Interior horizontal spacing | | `VerticalPadding` | int | Interior vertical spacing | | `AutoScroll` | bool | Enable automatic scrollbars when needed | | `AutoPersistStates` | bool | Persist expanded/collapsed state between sessions | | `AllowDrop` | bool | Enable drag-and-drop support | | `MinimumSize` | Size | Minimum control dimensions | ### XPTaskBarBox Level | Property | Type | Purpose | |----------|------|---------| | `Text` | string | Box header display text | | `Collapsed` | bool | Set true to collapse, false to expand | | `ShowCollapseButton` | bool | Show/hide collapse button | | `ToggleByButton` | bool | Allow button to toggle state | | `HeaderBackColor` | Color | Header background color | | `HeaderForeColor` | Color | Header text color | | `HeaderFont` | Font | Header text font | | `HeaderTextAlign` | StringAlignment | Header text alignment | | `AnimationDelay` | int | Delay in ms between animation frames | | `AnimationPositionsCount` | int | Number of animation steps | | `PreferredChildPanelHeight` | int | Height reserved for child controls | | `ShowToolTip` | bool | Enable tooltips for items | | `PADX` | int | Horizontal header padding | | `PADY` | int | Vertical header padding | ### XPTaskBarItem Level | Property | Type | Purpose | |----------|------|---------| | `Text` | string | Item display text | | `ImageIndex` | int | Index in parent box's ImageList | | `ToolTipText` | string | Tooltip text on hover | | `Tag` | object | Custom data for event routing | --- **Next Step:** Start with [references/getting-started.md](references/getting-started.md) to set up your first XPTaskBar control.
View on GitHub