# Syncfusion Winforms Excel Like Tabbar Splitter

> Guide for implementing Syncfusion TabBarSplitterControl in Windows Forms applications for creating workbook-like tabbed interfaces. Use this skill when implementing Excel-like tabs, tabbed pages with splitters, or multiple sheet interfaces in Windows Forms. Covers NuGet installation, TabBarPage management, programmatic creation, and child control integration.

- Skill: `syncfusion/syncfusion-winforms-excel-like-tabbar-splitter` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add syncfusion/syncfusion-winforms-excel-like-tabbar-splitter`
- Raw SKILL.md: https://api.skillmd.com/api/skills/syncfusion/syncfusion-winforms-excel-like-tabbar-splitter/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: syncfusion (https://skillmd.com/u/syncfusion)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/syncfusion/syncfusion-winforms-excel-like-tabbar-splitter

---


# Implementing TabBarSplitterControl

Guide for implementing Syncfusion's TabBarSplitterControl in Windows Forms applications. This control creates tabbed pages with dynamic splitters, providing a workbook-like appearance ideal for GridControl integration and multi-sheet interfaces.

## When to Use This Skill

Use TabBarSplitterControl when you need to:
- Create tabbed interfaces with dynamic splitters in Windows Forms
- Build workbook-like UI layouts with multiple pages
- Integrate GridControl with tabbed pages
- Implement multi-sheet data views
- Create Excel-like tabbed interfaces
- Organize multiple data grids in separate pages
- Support formula cells and cross-reference sheets
- Build applications requiring page-based navigation with controls

## Component Overview

**TabBarSplitterControl** enables creation of tabbed pages with dynamic splitters. When used with GridControl, it provides a workbook-like appearance where each tab can contain separate grid instances.

**Key Features:**
- Multiple TabBarPage support
- Dynamic splitter functionality
- GridControl integration
- Workbook-like appearance
- Designer and programmatic creation
- Controls collection per page
- Page management and organization

**Assembly:** `Syncfusion.Shared.Base`

**Namespace:** `Syncfusion.Windows.Forms`

**Key Classes:**
- `TabBarSplitterControl` - Main container control
- `TabBarPage` - Individual page within the control

## Documentation and Navigation Guide

### Getting Started
📄 **Read:** [references/getting-started.md](references/getting-started.md)
- NuGet package installation (Syncfusion.Shared.Base for TabBarSplitterControl)
- Child control NuGet packages (reference child control's skill file in skills folder)
- Assembly and namespace references
- Basic control overview and purpose
- When to use TabBarSplitterControl
- Child control integration basics (GridControl, SfDataGrid, or any Syncfusion/framework control)
- Designer availability note

### Programmatic Implementation
📄 **Read:** [references/programmatic-implementation.md](references/programmatic-implementation.md)
- Creating TabBarSplitterControl in code
- Initializing and configuring TabBarPages
- Adding controls to pages programmatically
- Setting page properties (Text, Controls)
- Multiple page scenarios
- C# and VB.NET implementation examples
- GridControl integration patterns
- Common configuration patterns

## Quick Start

### Installation

**TabBarSplitterControl NuGet Package:**

Install the Syncfusion.Shared.Base NuGet package (latest version):

```powershell
Install-Package Syncfusion.Shared.Base -Version *
```

Or via .NET CLI:
```bash
dotnet add package Syncfusion.Shared.Base --version *
```

**Note:** Using `*` ensures the latest version is installed during restore.

**Child Control NuGet Packages:**

When using TabBarSplitterControl with child controls (GridControl, SfDataGrid, or any Syncfusion/framework control), install the required NuGet packages for those child controls. Reference the child control's `references/getting-started.md` file in the skills folder for specific NuGet package installation instructions.

**Examples:**
- For **GridControl**: Check `syncfusion-winforms-grid-control/references/getting-started.md` for NuGet installation
- For **SfDataGrid**: Check `syncfusion-winforms-datagrid/references/getting-started.md` for NuGet installation
- For any other control: Check `syncfusion-winforms-{control-name}/references/getting-started.md` for NuGet installation

### Basic Implementation (C#)

```csharp
using Syncfusion.Windows.Forms;
using Syncfusion.Windows.Forms.Grid;

// Create TabBarSplitterControl
TabBarSplitterControl tabBarSplitter = new TabBarSplitterControl();

// Create TabBarPages
TabBarPage page1 = new TabBarPage();
page1.Text = "Sheet1";

TabBarPage page2 = new TabBarPage();
page2.Text = "Sheet2";

// Add GridControls to pages
page1.Controls.Add(new GridControl());
page2.Controls.Add(new GridControl());

// Add pages to TabBarSplitterControl
tabBarSplitter.Controls.Add(page1);
tabBarSplitter.Controls.Add(page2);

// Add to form
this.Controls.Add(tabBarSplitter);
```

### Basic Implementation (VB.NET)

```vb
Imports Syncfusion.Windows.Forms
Imports Syncfusion.Windows.Forms.Grid

' Create TabBarPages
Dim page1 As New TabBarPage()
page1.Text = "Sheet1"

Dim page2 As New TabBarPage()
page2.Text = "Sheet2"

' Add GridControls to pages
page1.Controls.Add(New GridControl())
page2.Controls.Add(New GridControl())

' Add pages to TabBarSplitterControl
tabBarSplitterControl1.Controls.Add(page1)
tabBarSplitterControl1.Controls.Add(page2)
```

## Common Patterns

### Pattern 1: Creating Multiple Named Pages

```csharp
// Initialize TabBarSplitterControl
TabBarSplitterControl tabBarSplitter = new TabBarSplitterControl();

// Create multiple pages with descriptive names
TabBarPage income = new TabBarPage { Text = "Income" };
TabBarPage expenses = new TabBarPage { Text = "Expenses" };
TabBarPage summary = new TabBarPage { Text = "Summary" };

// Add GridControl to each page
income.Controls.Add(new GridControl());
expenses.Controls.Add(new GridControl());
summary.Controls.Add(new GridControl());

// Add all pages to control
tabBarSplitter.Controls.Add(income);
tabBarSplitter.Controls.Add(expenses);
tabBarSplitter.Controls.Add(summary);

// Add to form
this.Controls.Add(tabBarSplitter);
```

### Pattern 2: Using Existing GridControl Instances

```csharp
// Assume you have pre-configured GridControls
GridControl gridIncome = new GridControl();
GridControl gridExpenses = new GridControl();

// Configure grids (add data, formulas, etc.)
// ... grid configuration code ...

// Create pages
TabBarPage incomePage = new TabBarPage { Text = "Income" };
TabBarPage expensesPage = new TabBarPage { Text = "Expenses" };

// Add existing grids to pages
incomePage.Controls.Add(gridIncome);
expensesPage.Controls.Add(gridExpenses);

// Add pages to TabBarSplitterControl
tabBarSplitter.Controls.Add(incomePage);
tabBarSplitter.Controls.Add(expensesPage);
```

### Pattern 3: VB.NET Implementation

```vb
' Create TabBarPages
Private IncomePage As New Syncfusion.Windows.Forms.TabBarPage()
Private ExpensesPage As New Syncfusion.Windows.Forms.TabBarPage()

' Configure pages
IncomePage.Text = "Income"
IncomePage.Controls.Add(Me.gridControl1)

ExpensesPage.Text = "Expenses"
ExpensesPage.Controls.Add(Me.gridControl2)

' Add to TabBarSplitterControl
tabBarSplitterControl1.Controls.Add(Me.IncomePage)
tabBarSplitterControl1.Controls.Add(Me.ExpensesPage)
```

## Key Properties and Classes

### TabBarSplitterControl

**Purpose:** Main container control that hosts TabBarPages

**Key Members:**
- `Controls` - Collection of TabBarPage objects
- Standard WinForms control properties (Location, Size, Dock, etc.)

### TabBarPage

**Purpose:** Individual page within TabBarSplitterControl

**Key Properties:**
- `Text` - Page tab label
- `Controls` - Collection of controls within the page (typically GridControl)
- Standard WinForms control properties

## Common Use Cases

### 1. Financial Data Workbook
Create separate sheets for Income, Expenses, and Summary with GridControls or SfDataGrids for each. Reference child control skill files for specific NuGet requirements.

### 2. Multi-Sheet Reports
Organize different report views in separate tabs with cross-references between sheets. Use appropriate child controls based on customer requirements.

### 3. Data Analysis Interface
Display multiple data grids with formulas that reference data across different pages. Check GridControl or SfDataGrid skill files for implementation details.

### 4. Spreadsheet-Like Applications
Build Excel-like interfaces where each tab contains a separate data grid or any Syncfusion/framework control.

### 5. Dashboard with Multiple Views
Create tabbed interface where each page shows different data visualization, grid view, or custom controls. Reference respective skill files for child control implementation.

## Designer Integration Note

TabBarSplitterControl can also be added via Visual Studio Designer:
- Drag and drop from toolbox
- Use TabBarPageCollectionEditor for page management
- Edit option available in designer mode

**Note:** Claude cannot perform manual designer operations. For programmatic implementation, use the patterns and examples provided in this skill.

## Related Documentation

For additional properties and methods of TabBarSplitterControl, refer to the Syncfusion documentation for the Splitter overview.

## Next Steps

- For TabBarSplitterControl installation and setup: Read `references/getting-started.md`
- For TabBarSplitterControl code implementation: Read `references/programmatic-implementation.md`
- For child control integration (GridControl, SfDataGrid, or any control):
  - Reference the child control's `references/getting-started.md` file in the skills folder for NuGet package installation
  - Check the child control's reference files for proper configuration
  - Ensure child control is properly configured before adding to TabBarPages

