mcpField
S
syncfusion-winforms-multiselect-combobox

syncfusion-winforms-multiselect-combobox

github.com/syncfusion设计与 UI278 次安装1 周前更新
代码仓库

关于 syncfusion-winforms-multiselect-combobox

这项技能介绍如何在 Windows Forms 应用中实现 Syncfusion MultiSelectionComboBox,涵盖多选呈现、数据绑定、建议、样式和选择事件。

主要功能

  1. 01多种多选显示模式
  2. 02可移除的标签项
  3. 03绑定常见数据集合
  4. 04自动建议选项
  5. 05分组与视觉主题
  6. 06选择及项集合事件

适用场景

  1. 01在 WinForms 窗体中添加多选下拉框
  2. 02以可移除标签显示选中项
  3. 03从 DataTable 绑定选项
  4. 04在应用中处理选择变化

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/syncfusion-winforms-multiselect-combobox确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

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

详细介绍

实现 MultiSelectionComboBox

MultiSelectionComboBox 是一种 WinForms ComboBox 控件,支持多项选择和自动建议。选中的项可以显示为可移除的标签(VisualItem 模式)、以逗号分隔的文本(Delimiter 模式)或单个值(Normal 模式)。它支持通过 DataSource/DisplayMember/ValueMember 进行数据绑定、Office 风格的视觉主题、分组以及丰富的事件模型。

何时使用此技能

  • 在 Windows Forms 应用程序中添加多选下拉列表
  • 将选中的值显示为带关闭按钮的标签
  • 将组合框绑定到 DataTable、DataView 或 ArrayList
  • 配置自动建议行为(AutoSuggestMode)
  • 按首字母对下拉列表项分组
  • 设置下拉列表或可视标签的样式
  • 处理选择更改和可视项集合事件

文档与导航指南

入门

📄 阅读: references/getting-started.md

  • 程序集引用和 NuGet 包设置
  • 通过 Designer 或代码隐藏添加控件
  • 命名空间导入(C# 和 VB.NET)
  • 使用 ButtonStyle、UseVisualStyle 和 Size 进行基本实例化
  • 最小可运行示例
显示模式与可视项输入

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

  • DisplayMode.VisualItem — 带移除按钮的标签
  • DisplayMode.DelimiterMode — 以逗号分隔的文本
  • DisplayMode.NormalMode — 单值选择
  • AutoSizeMode:Vertical、Horizontal、None
  • VisualItemInputMode:DisplayMemberMode、ValueMemberMode、VisualItemMode
  • 自定义分隔符
数据绑定

📄 阅读: references/data-binding.md

  • 绑定到 ArrayList、DataView 和 DataTable
  • DataSource、DisplayMember、ValueMember 属性
  • 完整的外部数据源绑定示例
  • DataSourceChanged 事件处理
样式与自定义

📄 阅读: references/styling-and-customization.md

  • 视觉样式:Default、Office2016Colorful、Office2016White、Office2016Black、Office2016DarkGray
  • 下拉列表样式:ShowCheckBox、分组标题颜色、项和下拉列表尺寸
  • 可视标签颜色:BackColor、ForeColor、SelectionColor、BorderColor
  • 分组:ShowGroups、运行时启用/禁用
  • 自动建议模式:Begin、Match、Disabled
事件与高级功能

📄 阅读: references/events-and-advanced-features.md

  • SelectedItemCollectionChanged — 选中项更改时触发
  • VisualItemCollectionChanged — 添加或移除可视标签时触发
  • AutoSizeModeChanged、DataSourceChanged、DropDown 事件
  • 在运行时检测 VisualItemCollection 的修改

快速入门

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)

常见模式

绑定到 DataTable 并显示为标签
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]);
};
应用 Office 2016 Colorful 主题
combo.Style = MultiSelectionComboBoxStyle.Office2016Colorful;

关键属性

属性用途
DisplayModeVisualItem / DelimiterMode / NormalMode
AutoSuggestModeBegin / Match / Disabled
AutoSizeModeVertical / Horizontal / None
ShowCheckBox在下拉列表中显示复选框
ShowGroups按首字母对项分组
DelimiterChar分隔符(Delimiter 模式)
DataSource绑定到 ArrayList、DataView、DataTable
DisplayMember控件中显示的属性名称
ValueMember用作实际值的属性
Style视觉主题(Office2016Colorful 等)
VisualItemInputModeDisplayMemberMode / ValueMemberMode / VisualItemMode

评论

支持 Markdown