更新日期:2026年8月10日。
Github 仓库:https://github.com/SaiTingHu/HTFramework
索引
一、MultiChoiceDropdown可多选的下拉菜单
众所周知Dropdown下拉菜单控件是不支持多选的,但多选的下拉菜单 在很多场景里是有需求的,所以MultiChoiceDropdown(可多选的下拉菜单)应运而生。

二、使用MultiChoiceDropdown
1.快捷创建MultiChoiceDropdown
首先,在Hierarchy窗口点击鼠标右键,通过菜单HTFramework -> UI -> MultiChoice Dropdown快捷创建一个MultiChoiceDropdown组件:

MultiChoiceDropdown与Dropdown基本一致,但前者并非继承至后者:

2.MultiChoiceDropdown的属性
MultiChoiceDropdown的属性如下:

Values:当前选中的选项(索引)。
Separator:当前选中的多个选项内容之间的间隔符。
MultiChoiceDropdown与Dropdown不同的主要就是如上两个属性,因为前者是多选,所以后者的属性value不再有效,前者有自己的方式来增加新的选中项。
3.增加选中项
使用索引来增加新的选中项(会与旧的选中项混合):
csharp
//按【索引】增加选中项:索引为0,1,2的三个选项
dropdown.AddSelectionIndexs(new List<int>() { 0, 1, 2 });

在上一步基础上,也可使用内容来增加新的选中项(会与旧的选中项混合):
csharp
//按【内容】增加选中项:内容为C,D,E的三个选项
dropdown.AddSelectionValues(new List<string>() { "C", "D", "E" });

4.移除选中项
使用索引来移除选中项:
csharp
//按【索引】移除选中项:索引为3,4的两个选项
dropdown.RemoveSelectionIndexs(new List<int>() { 3, 4 });

也可使用内容来移除选中项:
csharp
//按【内容】移除选中项:内容为A的选项
dropdown.RemoveSelectionValue("A");

5.清空所有选中项
使用如下方式清空所有选中项,以便于重新赋值:
csharp
dropdown.ClearIndexs();
6.Options可选项
Options可选项的管理方式与Dropdown基本一致,可在Inspector面板事先预制,也可通过代码动态添加:
csharp
//清空所有可选项
dropdown.ClearOptions();
//添加多个可选项
dropdown.AddOptions(new List<string>() { "A", "B", "C", "D", "E" });
//options:获取当前的所有可选项
for (int i = 0; i < dropdown.options.Count; i++)
{
}