c# WinForm 中英文智能提示

在項目中,查詢功能老是少不了的,系統越大,查詢就越顯得臃腫繁瑣。不過,看過百度谷歌之後,是否是決定咱們應該像他們學習學習呢?c#


爲了提升效率,減小冗雜的操做流程,第一種方法:提供一個簡單的輸入框,而後使用模糊查詢,將有關關鍵字的內容所有查出來,還能夠提供結果中2次查詢。第二種方法:提供一個查詢字典,當用戶輸入字符後,自動匹配,提供建議的關鍵字,方便用戶進行查詢。今天我就跟你們分享一下第二種方法吧:學習


難麼?不作,難死!去作,發現,其實最關鍵的就四句話:編碼

//定義一個自動完成的字符串集合
            AutoCompleteStringCollection acsc = new AutoCompleteStringCollection();

            /* 向acsc中加載匹配數據 */

            //設置文本框的自動完成模式爲Suggest
            txtInput.AutoCompleteMode = AutoCompleteMode.Suggest;

            //設置文本框的自動完成數據源爲用戶自定義數據源
            txtInput.AutoCompleteSource = AutoCompleteSource.CustomSource;

            //設置文本框的自定義數據源爲acsc
            txtInput.AutoCompleteCustomSource = acsc;

以上能夠完美匹配英文,數字等,可是卻不能直接匹配漢字。思來想去,只能是編碼的問題了。轉換了一下,終於發現完美解決了。如今把源碼都貼出來,供你們參閱;

private void Form1_Load(object sender, EventArgs e)
        {
            //定義一個自動完成的字符串集合
            AutoCompleteStringCollection acsc = new AutoCompleteStringCollection();

            foreach (var variable in lstTips.Items)
            {
                //將中文轉碼
                byte[] bytes = Encoding.Default.GetBytes(variable.ToString());
                string s = Encoding.GetEncoding("gb2312").GetString(bytes);
                acsc.Add(s);
            }

            //設置文本框的自動完成模式爲Suggest
            txtInput.AutoCompleteMode = AutoCompleteMode.Suggest;

            //設置文本框的自動完成數據源爲用戶自定義數據源
            txtInput.AutoCompleteSource = AutoCompleteSource.CustomSource;

            //設置文本框的自定義數據源爲acsc
            txtInput.AutoCompleteCustomSource = acsc;
        }



    


版權聲明:本文爲博主原創文章,未經博主容許不得轉載。spa

相關文章
相關標籤/搜索