C# WinForm 技巧:COMBOBOX搜索提示


comboBox和textBox支持內置的搜索提示功能,

在form的InitializeComponent()中添加如下語句:

//將數據添加到搜索范圍
this.comboBox1.AutoCompleteCustomSource.AddRange(new string[] { "10.152.154.89", "10.152.154.90", "10.152.252.10", "10.152.252.11" });

默認是None,還有Append,和SuggestAppend屬性,除了默認的None都可以實現搜索提示的功能

this.comboBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest; 
this.comboBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;

轉自http://www.cnblogs.com/luomingui/archive/2010/03/17/1688188.html

但經過測試並不能實現真正的模糊查詢,只能從左到右查詢,所以還是得自己寫一個:

 private void comboBox1_TextUpdate(object sender, EventArgs e)
        {
            ComboBox cbBox = (ComboBox)sender;
            List<string> listNew = new List<string>();
            cbBox.Items.Clear();
            foreach (var item in listCell)  //已有數據
            {
                if (item.Contains(cbBox.Text))
                {
                    listNew.Add(item);
                }
            }
            cbBox.Items.AddRange(listNew.ToArray());
            cbBox.SelectionStart = cbBox.Text.Length;
            Cursor = Cursors.Default;
            cbBox.DroppedDown = true;
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM