• 【技巧】为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                       

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

  • 相关阅读:
    win10 的MQTT + apache-apollo服务器使用
    网络协议 4
    nginx 命令
    win7安装两个jdk,1.7和1.8,下载、安装、配置环境变量,方便切换
    AC+DP练习
    BZOJ 1093 [ZJOI2007]最大半连通子图
    BestCoder Round #52 (div.1)
    洛谷1012 拼数
    洛谷1980 计数问题
    洛谷1424 小鱼的航程(改进版)
  • 原文地址:https://www.cnblogs.com/xhb-bky-blog/p/4191965.html
Copyright © 2020-2023  润新知