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;