mcpField
S
syncfusion-winforms-multiselect-combobox

syncfusion-winforms-multiselect-combobox

github.com/syncfusionDesign & UI278 installsUpdated 1w ago
Repository

About syncfusion-winforms-multiselect-combobox

A skill for implementing Syncfusion’s MultiSelectionComboBox in Windows Forms applications. It covers multi-select display, data binding, suggestions, styling, and selection events.

Key features

  1. 01Multiple selection display modes
  2. 02Removable tag chips
  3. 03Data binding to common collections
  4. 04Auto-suggestion options
  5. 05Grouping and visual themes
  6. 06Selection and item events

Use cases

  1. 01Adding multi-select dropdowns to WinForms forms
  2. 02Showing selections as removable tags
  3. 03Binding choices from a DataTable
  4. 04Handling selection changes in an application

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/syncfusion/winforms-ui-components-skills --skill syncfusion-winforms-multiselect-combobox

After installing, type/syncfusion-winforms-multiselect-comboboxin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

references/
data-binding.md
display-modes-and-visual-items.md
events-and-advanced-features.md
getting-started.md
styling-and-customization.md

Details

From the project README

Implementing MultiSelectionComboBox

The MultiSelectionComboBox is a WinForms ComboBox control that supports multiple item selection and auto-suggestion. Selected items can be displayed as removable tag chips (VisualItem mode), comma-separated text (Delimiter mode), or single-value (Normal mode). It supports data binding via DataSource/DisplayMember/ValueMember, Office-style visual themes, grouping, and a rich event model.

When to Use This Skill

  • Adding a multi-select dropdown to a Windows Forms application
  • Displaying selected values as tag chips with close buttons
  • Binding the combo box to a DataTable, DataView, or ArrayList
  • Configuring auto-suggestion behavior (AutoSuggestMode)
  • Grouping dropdown items by initial character
  • Styling the drop-down list or visual item tags
  • Handling selection change and visual item collection events

Documentation and Navigation Guide

Getting Started

📄 Read: references/getting-started.md

  • Assembly references and NuGet package setup
  • Adding the control via Designer or code-behind
  • Namespace imports (C# and VB.NET)
  • Basic instantiation with ButtonStyle, UseVisualStyle, and Size
  • Minimal working example
Display Modes & Visual Item Input

📄 Read: references/display-modes-and-visual-items.md

  • DisplayMode.VisualItem — tag chips with remove buttons
  • DisplayMode.DelimiterMode — comma-separated text
  • DisplayMode.NormalMode — single-value selection
  • AutoSizeMode: Vertical, Horizontal, None
  • VisualItemInputMode: DisplayMemberMode, ValueMemberMode, VisualItemMode
  • Delimiter character customization
Data Binding

📄 Read: references/data-binding.md

  • Binding to ArrayList, DataView, and DataTable
  • DataSource, DisplayMember, ValueMember properties
  • Complete external data source binding example
  • DataSourceChanged event handling
Styling & Customization

📄 Read: references/styling-and-customization.md

  • Visual styles: Default, Office2016Colorful, Office2016White, Office2016Black, Office2016DarkGray
  • Drop-down styling: ShowCheckBox, group header colors, item/drop-down dimensions
  • Visual item tag colors: BackColor, ForeColor, SelectionColor, BorderColor
  • Grouping: ShowGroups, runtime enable/disable
  • Auto-suggestion modes: Begin, Match, Disabled
Events & Advanced Features

📄 Read: references/events-and-advanced-features.md

  • SelectedItemCollectionChanged — when the selected items change
  • VisualItemCollectionChanged — when visual item tags are added/removed
  • AutoSizeModeChanged, DataSourceChanged, DropDown events
  • Detecting VisualItemCollection modifications at runtime

Quick Start

using Syncfusion.Windows.Forms.Tools;
using Syncfusion.Windows.Forms;

// Create and configure the control
var combo = new MultiSelectionComboBox();
combo.ButtonStyle = ButtonAppearance.Metro;
combo.UseVisualStyle = true;
combo.Size = new System.Drawing.Size(250, 30);
combo.DisplayMode = DisplayMode.VisualItem;

// Add items manually
combo.Items.AddRange(new object[] { "Apple", "Banana", "Cherry", "Date", "Elderberry" });

this.Controls.Add(combo);
Imports Syncfusion.Windows.Forms.Tools
Imports Syncfusion.Windows.Forms

Dim combo As New MultiSelectionComboBox()
combo.ButtonStyle = ButtonAppearance.Metro
combo.UseVisualStyle = True
combo.Size = New System.Drawing.Size(250, 30)
combo.DisplayMode = DisplayMode.VisualItem
combo.Items.AddRange(New Object() {"Apple", "Banana", "Cherry"})
Me.Controls.Add(combo)

Common Patterns

Bind to a DataTable and display as tag chips
DataTable dt = new DataTable();
dt.Columns.Add("ID");
dt.Columns.Add("Name");
dt.Rows.Add("1", "Alice");
dt.Rows.Add("2", "Bob");
dt.Rows.Add("3", "Carol");

combo.DataSource = dt;
combo.DisplayMember = "Name";
combo.ValueMember = "ID";
combo.DisplayMode = DisplayMode.VisualItem;
React to selection changes
combo.SelectedItemCollectionChanged += (sender, e) =>
{
    if (e.Action == Actions.Added)
        Console.WriteLine("Added: " + e.SelectedItems[0]);
    else
        Console.WriteLine("Removed: " + e.SelectedItems[0]);
};
Apply Office 2016 Colorful theme
combo.Style = MultiSelectionComboBoxStyle.Office2016Colorful;

Key Properties

PropertyPurpose
DisplayModeVisualItem / DelimiterMode / NormalMode
AutoSuggestModeBegin / Match / Disabled
AutoSizeModeVertical / Horizontal / None
ShowCheckBoxShow checkboxes in the dropdown
ShowGroupsGroup items by initial character
DelimiterCharSeparator character (Delimiter mode)
DataSourceBind to ArrayList, DataView, DataTable
DisplayMemberProperty name shown in the control
ValueMemberProperty used as the actual value
StyleVisual theme (Office2016Colorful, etc.)
VisualItemInputModeDisplayMemberMode / ValueMemberMode / VisualItemMode

Comments

Markdown supported