C# WinForm TextBox猜想输入和历史记录输入(源码)

来源:互联网 发布:汉代疆域 知乎 编辑:程序博客网 时间:2024/05/17 22:11

 

 http://www.2cto.com/kf/201112/113349.html

 

什么是猜想输入

  

      当我们在使用查询应用时,输入某个关键字后文本框下面就会自动弹出跟此关键字相附的词组供我们选择,为我们节省了输入的时间,这就是猜想输入,例如:百度,谷歌,等等,如下图:

\

 

 

      如上图所示,使用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://up.2cto.com/2011/1207/20111207052029104.zip

 

原创粉丝点击