zoukankan      html  css  js  c++  java
  • 【技巧】为ComboBox添加自动提示

    需求来源

    最近有个项目用到了ComboBox控件,在演示的时候,要对Word文档中选中部分添加符合DocBook标准的标签,这些标签是DocBook中元素的集合,数据量不多,大概170多个吧,但是在演示的时候我发现每次添加标签的时候都要点击ComboBox并找到指定的标签,这样在170多个标签里上下寻找也是很耗时的操作,于是我就把ComboBox的自动提示以及自动补全功能加了进去。

    简单的效果图:

        

     
     
     
     
     
     
     
     

    实现方法

    这种自动提示自动补全的功能得益于ComboBox自身所拥有的属性AutoCompleteMode,表示控件中内容自动完成的模式,有四个值可以选

    None: 不启用自动提示和补全功能;
    Append:将有可能出现的字符追加到现有字符,并突出显示;
    Suggest:显示下拉列表, 列表中填充建议完成的字符串;
    SuggestAppend: Append与Suggest的结合,

    本实例中用的是最后一种模式,也就是下面的代码,其他方式大家可以自行尝试一下:

    this.comboBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;

     当然,要显示列表,必须要有数据项,AutoCompleteMode的数据源是AutoCompleteSource枚举类型,最常用的就是最后一个ListItems了:

     然后在加载的时候,指定数据源:
    1 private void Form1_Load(object sender, EventArgs e)
    2 {
    3    //制定搜索范围,一般是Combobox数据源
    4    this.comboBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
    5  }
     1 this.comboBox1.Items.AddRange(new object[] {
     2  "article",
     3  "title",
     4  "tag",
     5  "author",
     6  "sub",
     7  "sup",
     8  "lang",
     9  "address",
    10  "subject",
    11  "group"});

    这里为了演示效果,数据项是我手工加上去的,当然数据源可以是数据库中读取的内容,这个可以自己试一下。

    三、结语

    这就是一个不起眼的小技巧,但是当我们真正用到的时候,也未必就能信手拈来,所以,经验在于积累,无他,唯手熟尔。

    还有2天,2014就要过去了,不管这一年过得好与坏,感激自己挺了过来,加油吧,兄弟!

     作者:悠扬的牧笛

     博客地址:http://www.cnblogs.com/xhb-bky-blog/p/4191965.html                       

     声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。

  • 相关阅读:
    第三次作业——《原型设计》
    第二次作业《熟悉使用工具》
    跟着《构建之法》学习软件工程(第一次作业)
    纯js代码实现手风琴特效
    HTML5
    为什么做前端要做好SEO
    让div盒子相对父盒子垂直居中的几种方法
    模板artTemplate
    bootstrap兼容问题
    移动常用的类库
  • 原文地址:https://www.cnblogs.com/xhb-bky-blog/p/4191965.html
Copyright © 2011-2022 走看看