C#实现ComboBox自动匹配字符

来源:互联网 发布:linux 关闭端口命令 编辑:程序博客网 时间:2024/05/16 05:25

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;