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

private void Form1_Load(object sender, EventArgs e)
{
//制定搜索范围,一般是Combobox数据源
this.comboBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
}
1 this.comboBox1.Items.AddRange(new object[] {
"article",
"title",
"tag",
"author",
"sub",
"sup",
"lang",
"address",
"subject",
"group"});
这里为了演示效果,数据项是我手工加上去的,当然数据源可以是数据库中读取的内容,这个可以自己试一下。
三、结语
这就是一个不起眼的小技巧,但是当我们真正用到的时候,也未必就能信手拈来,所以,经验在于积累,无他,唯手熟尔。
还有2天,2014就要过去了,不管这一年过得好与坏,感激自己挺了过来,加油吧,兄弟!
作者:悠扬的牧笛
博客地址:http://www.cnblogs.com/xhb-bky-blog/p/4191965.html
声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。
【技巧】为ComboBox添加自动提示的更多相关文章
- winform ComboBox/TextBox自动提示
ComboBox和TextBox控件都带有自动前缀匹配,只要设置其中的AutoCompleteMode,AutoCompleteSource,AutoCompleteCustomSource三个属性的 ...
- eclipse为hibernate.cfg.xml添加自动提示【转】
在hibernate.cfg.xml头部部分如下: <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate C ...
- Laravel添加代码自动提示功能
在使用Laravel框架的时候,可能会碰上代码无法自动提示的情况,那么如何添加自动提示功能呢? 1,首先在composer.json中加入以下内容: "require": { &q ...
- Ecplise添加XML自动提示
这里以struts.xml为例 第一步: 首先找到 struts2的核心jar包,我这里是struts2-core-2.3.20.jar用压缩工具打开或者解压下来
- Eclipse用法和技巧十五:自动添加未实现方法1
java代码中经常要实现一些接口,这个也是java代码独有的地方.实现接口,就意味着要实现这个接口中定义的方法,如果一个个去码出方法就需要记得方法名称等等,就算有内容辅助快捷键帮助,也是很麻烦的.这里 ...
- Eclipse用法和技巧十六:自动添加未实现方法2
前面一篇文章里面介绍了一种常见的自动添加未实现函数的方法.这里在顺便补充几个方法.第一个方法,看上去有点怪怪的: 步骤一:Source > Clean Up: 步骤二:选择cust ...
- MyEclipse添加ibatis DTD文件实现xml的自动提示功能
当我们写ibatis配置文件的时候,希望有xml自动提示功能.这就需要我们添加DTD文件 SqlMapConfig.xml中开头部分有这么一句话 <!DOCTYPE sqlMapConfig P ...
- java_eclipse添加DID实现自动提示
便捷无错开发 对于xml 配置没有自动提示是多么恼火就不用说了,eclipse本身很多都是默认关闭了的,如果开发者不知道的话,就不知道怎么去设置,下面介绍几种自动提示设置的方法: XML:获得提示更好 ...
- MyEclipse的html/JSP编辑器添加代码自动提示
http://lusterfly.iteye.com/blog/1872627 在myeclipse 9以前的版本中,我们如果要为html编辑器添加自动的代码提示可以这样操作: windows--&g ...
随机推荐
- file命令
命令简介: 该命令用来识别文件类型,也可用来辨别一些文件的编码格式.它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的. 执行权限 :All User 指令所在 ...
- iOS:frame访问、设置简化
看到一些程序都有这种写法,也不知道原创者是谁了.先在博客保存下. 在.m文件 #import "UIView+MyFrameCategory.h" @implementation ...
- 用collectionview实现瀑布流-转(后面附demo,供参考)
算法总体思路 先说一下总体上的思路.既然图片的大小.位置各不一样,我们很自然地会想到需要算出每个item的frame,然后把这些frame赋值给当前item的UICollectionViewLayou ...
- 用户代理字符串识别工具源码与slf4j日志使用
User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本.CPU 类型.浏览器及版本.浏览器渲染引擎.浏览器语言.浏览器插件等.UA也成为了, ...
- yii2 ActiveRecord多表关联以及多表关联搜索的实现
作者:白狼 出处:http://www.manks.top/yii2_many_ar_relation_search.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明 ...
- 配置mysql允许远程连接的方法
默认情况下,mysql只允许本地登录,如果要开启远程连接,则需要修改/etc/mysql/my.conf文件. 一.修改/etc/mysql/my.conf找到bind-address = 127.0 ...
- JDWP Agent
JDWP Agent Implementation Description Revision History Disclaimer 1. About this Document 1.1 Purpose ...
- cstore_fdw的安装使用以及源码分析
一.cstore_fdw的简介 https://github.com/citusdata/cstore_fdw,此外部表扩展是由citusdata公司开发,使用RC_file格式对数据进行列式存储. ...
- splay最终模板
来自wjmzbmr的splay模板 #include<cstdio> #include<iostream> #include<algorithm> using na ...
- SimpleDateFormat使用详解——日期、字符串应用
public class SimpleDateFormat extends DateFormat SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类. 它允许格式化 (d ...