C#实现ComboBox自动匹配字符

时间:2021-05-20

1. 采用CustomSource当做提示集合
将下列代码添加到窗口加载函数中即可。假设unitNameList是获取的想要添加到下拉列表中的字符串列表。
复制代码 代码如下:
AutoCompleteStringCollection collection = new AutoCompleteStringCollection();
// 获取单位列表
List<string> unitNameList = this.getAllUnitName();
foreach (string unitname in unitNameList)
{
collection.Add(unitname);
//Console.WriteLine("自动提示" + unitname);
}
this.comboBox2.AutoCompleteCustomSource = collection;
this.comboBox2.AutoCompleteSource = AutoCompleteSource.CustomSource;
this.comboBox2.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

其中AutoCompleteMode包含None,Suggest,Append和SuggestAppend四种情况。
None:关闭自动补全功能
Suggest:展开下拉列表并显示匹配的结果
Append:自动补全
SuggestAppend:Suggest和Append的组合,即显示下拉列表也自动补全。

2. 直接使用下拉列表中的项作为匹配的集合
AutoCompleteSource设置为ListItems。
复制代码 代码如下:
// 获取单位列表
List<string> unitNameList = this.getAllUnitName();
foreach (string unitname in unitNameList)
{
this.comboBox2.Items.Add(unitname);
}
this.comboBox2.AutoCompleteSource = AutoCompleteSource.ListItems;

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章