什麼是猜想輸入
當我們在使用查詢應用時,輸入某個關鍵字後文本框下面就會自動彈出跟此關鍵字相附的詞組供我們選擇,為我們節省了輸入的時間,這就是猜想輸入,例如:百度,谷歌,等等,如下圖:
如上圖所示,使用WinForm的TextBox實現了這樣的效果,主要借助於TextBox的AutoCompleteMode和AutoCompleteSource以及AutoCompleteCustomSource屬性。
詳細參數
AutoCompleteMode
獲取或設置控制自動完成如何作用於TextBox的選項。
屬性值
Append 將最可能的候選字符串的其余部分追加到現有的字符,並突出顯示追加的字符。
Suggest 顯示與編輯控件關聯的輔助下拉列表。 此下拉列表填充了一個或多個建議完成字符串。
SuggestAppend 追加Suggest 和Append 選項。
None 禁用自動完成 這是默認值。
AutoCompleteSource 獲取或設置一個值,該值指定用於自動完成的完整字符串的源。
AutoCompleteCustomSource 獲取或設置在AutoCompleteSource 屬性設置為CustomSource 時使用的自定義System.Collections.Specialized.StringCollection。
如下圖:
代碼設計
TextBoxRemind
expand source
歷史記錄
由於存儲的都是文本數據,所以采用了文本文檔進行存儲,輕量級操作方便,系統會自動創建Remind.txt文件。
加載窗體時首先初始化InitAutoCompleteCustomSource,添加AutoCompleteStringCollection,當我們點擊確認後重新初始化數據源,加載之前錄入的關鍵字。
expand source
最後
大家經常遇到使用StreamReader和StreamWriter時中文不能正常顯示,一個簡單的方法就是將Encoding設置為Default即可。
附 http://www.BkJia.com/uploadfile/2011/1207/20111207052029104.zip
摘自 阿東東