用途
MultiSelectionComboBox 是 Syncfusion 提供的 Windows Forms 组合框控件,核心用途是在 WinForms 应用中实现多选下拉。它同时支持自动建议(auto-suggestion),已选项可以多种形式呈现,适合需要一次选择多个条目的表单、筛选或配置界面。
主要能力
- 多选与自动建议:支持多项选择以及 AutoSuggestMode(Begin / Match / Disabled)。
- 三种显示模式:
- DisplayMode.VisualItem:已选项以带删除按钮的标签芯片形式显示。
- DisplayMode.DelimiterMode:以逗号等分隔符拼接文本显示,分隔符可通过 DelimiterChar 自定义。
- DisplayMode.NormalMode:单值选择。
- 视觉项输入模式 VisualItemInputMode:DisplayMemberMode、ValueMemberMode、VisualItemMode。
- 尺寸模式 AutoSizeMode:Vertical、Horizontal、None。
- 数据绑定:通过 DataSource、DisplayMember、ValueMember 绑定到 ArrayList、DataView、DataTable,并处理 DataSourceChanged 事件。
- 分组:ShowGroups 可按首字符对下拉项分组,支持运行时启用/禁用。
- 下拉样式:ShowCheckBox 在下拉中显示复选框,可设置分组标题颜色、项与下拉尺寸。
- 标签样式:可设置 VisualItem 标签的 BackColor、ForeColor、SelectionColor、BorderColor。
- 视觉主题 Style:Default、Office2016Colorful、Office2016White、Office2016Black、Office2016DarkGray。
- 事件模型:SelectedItemCollectionChanged、VisualItemCollectionChanged、AutoSizeModeChanged、DataSourceChanged、DropDown 等。
使用方式
通过 NuGet 包安装并引用程序集,导入命名空间(C# 为 Syncfusion.Windows.Forms.Tools 与 Syncfusion.Windows.Forms;VB.NET 对应 Imports),可在设计器或代码隐藏中添加控件。基本创建示例(C#):
using Syncfusion.Windows.Forms.Tools;
using Syncfusion.Windows.Forms;
var combo = 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", "Date", "Elderberry" });
this.Controls.Add(combo);
VB.NET 示例:
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;
关键属性包括:DisplayMode、AutoSuggestMode、AutoSizeMode、ShowCheckBox、ShowGroups、DelimiterChar、DataSource、DisplayMember、ValueMember、Style、VisualItemInputMode。
适用场景
- 在 Windows Forms 应用中添加多选下拉框。
- 以带关闭按钮的标签芯片展示已选值。
- 将组合框绑定到 DataTable、DataView 或 ArrayList。
- 配置自动建议行为。
- 按首字符对下拉项分组。
- 自定义下拉列表或视觉项标签的样式。
- 处理选择变化与视觉项集合事件。
限制
本资料未提供授权、收费、价格、平台版本要求、性能指标或效果数据,暂未提供相关信息。