自动完成那些事儿(WinForm端)

自动完成那些事儿(WinForm端)

还是不能免俗,用了这么一个俗气的题目。自动完成(Auto Complete)功能应该算一个比较常见的功能,该功能对用户比较友好,用户不必记住一长串下拉框(或者文本框)将要填入的内容,只要记住大概就行了。下拉框更加方便,全忘了都能一个个自动把它揪出来,但在数据量非常大的时候,你肯定不愿意这么做,不仅手累,眼睛也会抗议的,此时自动完成就派上用场了。自动完成主要用在WinForm和WebForm的下拉框和文本框,这一篇主要讲解如何在基于C#的Winform如何设置自动完成,下一篇则论述在WebForm下的自动完成,敬请期待。

在Visual Studio 2008中,对于下拉框(System.Windows.Forms.ComboBox类型),可以按F4在属性列表中发现最后有"杂项"设置,自动完成主要在这里面设置。


图一 下拉框自动完成设置窗口

可以看到主要有3个选项:

  • AutoCompleteCustomSource:这个设置自定义源,一般是AutoCompleteStringCollection类型的字符串集合对象。当AutoCompleteSource中的数据源选择为"CustomSource"时,将会从自定义源数据中选择。
  • AutoCompleteMode:设置自动完成方式,有四种None(不采用自动完成),Suggest(提示但不追加),Append(追加),SuggestAppend(提示且追加)。
  • AutoCompleteSource:设置自动完成的完整字符串的源,一般就两种:ListItems和CustomSource。
  • 文本框和下拉框一样进行设置,当然,可以用过后台编程动态的进行设置数据源,自动完成方式等。只是比较Weird的是,下拉框的自动完成一切OK,但是文本框的自动完成根本就是骗人的,起码我通过属性设置和编程控制,都木有看到怎么个自动完成了,难道我操作有误,泪奔。

    这里介绍的自动完成时比较傻瓜的,如果有时间可以自己编写一个控件(继承文本框和下拉框),那样能够实现自定义控制,实现更多自己想要的功能,出乎一心,岂不快哉。当然这篇文章只是一个引子,介绍的比较粗糙,我也不举例了,我重点要介绍的还是接下来的那一篇《自动完成那些事儿(WebForm端)》,请抛砖的抛砖,路过的继续路过,回头的继续回头。

    posted on 2010-11-29 19:13  虚怀若谷  阅读(1130)  评论(0编辑  收藏  举报

    导航