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

本文深入探讨了自动完成输入技术在文本框中的应用,通过使用WinForm的TextBox组件,借助AutoCompleteMode、AutoCompleteSource和AutoCompleteCustomSource属性实现自动补全功能。文中还详细介绍了如何通过文本历史记录存储和加载候选字符串,以及解决中文显示问题的方法。此外,提供了代码示例和下载资源,帮助开发者理解和实现类似功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值