C#實現(xiàn)ComboBox自動匹配字符

字號:


    1. 采用CustomSource當(dāng)做提示集合
    將下列代碼添加到窗口加載函數(shù)中即可。假設(shè)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:關(guān)閉自動補全功能
    Suggest:展開下拉列表并顯示匹配的結(jié)果
    Append:自動補全
    SuggestAppend:Suggest和Append的組合,即顯示下拉列表也自動補全。
    2. 直接使用下拉列表中的項作為匹配的集合
    AutoCompleteSource設(shè)置為ListItems。
    // 獲取單位列表
    List<string> unitNameList = this.getAllUnitName();
    foreach (string unitname in unitNameList)
    {
    this.comboBox2.Items.Add(unitname);
    }
    this.comboBox2.AutoCompleteSource = AutoCompleteSource.ListItems;