Guide for implementing the Syncfusion Windows Forms MultiSelectionComboBox control — a ComboBox with multi-item selection, auto-suggestion, and tag-style visual items. Use this skill when the user mentions MultiSelectionComboBox, WinForms multi-select combo, or Syncfusion.Windows.Forms.Tools.MultiSelectionComboBox, or needs a combo box that allows selecting multiple items in a Windows Forms application. Applies when configuring display modes, binding data sources, styling visual items, handling SelectedItemCollectionChanged, or setting AutoSuggestMode.
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.
DataTable, DataView, or ArrayListAutoSuggestMode)📄 Read: references/getting-started.md
ButtonStyle, UseVisualStyle, and SizeDisplayMode.VisualItem — tag chips with remove buttonsDisplayMode.DelimiterMode — comma-separated textDisplayMode.NormalMode — single-value selectionAutoSizeMode: Vertical, Horizontal, NoneVisualItemInputMode: DisplayMemberMode, ValueMemberMode, VisualItemMode📄 Read: references/data-binding.md
ArrayList, DataView, and DataTableDataSource, DisplayMember, ValueMember propertiesDataSourceChanged event handlingShowCheckBox, group header colors, item/drop-down dimensionsShowGroups, runtime enable/disableBegin, Match, DisabledSelectedItemCollectionChanged — when the selected items changeVisualItemCollectionChanged — when visual item tags are added/removedAutoSizeModeChanged, DataSourceChanged, DropDown eventsusing 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)
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;
combo.SelectedItemCollectionChanged += (sender, e) =>
{
if (e.Action == Actions.Added)
Console.WriteLine("Added: " + e.SelectedItems[0]);
else
Console.WriteLine("Removed: " + e.SelectedItems[0]);
};
combo.Style = MultiSelectionComboBoxStyle.Office2016Colorful;
| Property | Purpose |
|---|---|
DisplayMode | VisualItem / DelimiterMode / NormalMode |
AutoSuggestMode | Begin / Match / Disabled |
AutoSizeMode | Vertical / Horizontal / None |
ShowCheckBox | Show checkboxes in the dropdown |
ShowGroups | Group items by initial character |
DelimiterChar | Separator character (Delimiter mode) |
DataSource | Bind to ArrayList, DataView, DataTable |
DisplayMember | Property name shown in the control |
ValueMember | Property used as the actual value |
Style | Visual theme (Office2016Colorful, etc.) |
VisualItemInputMode | DisplayMemberMode / ValueMemberMode / VisualItemMode |