不多说了,如图,应客户要求,下拉框中需要自动匹配字符,可能有些人一早就对此很熟,但相对于我还是首次使用,还是花了一点时间,现记录下来,也希望能帮助大家更好的理解.

首先要设定Combobox的DropDownStyle属性为DropDown,而不是DropDownList.然后设定匹配数据源,有两种方法

第一种.采用CustomSource当做提示集合,自已构造的下拉提示内容.

             //经营单位

             AutoCompleteStringCollection strings = new AutoCompleteStringCollection();
DataTable dt = customformOp.CusList().Tables[];
if (dt.Rows.Count > )
{
//cmbTRADE_CO.DisplayMember = "CusName";//显示字段
//cmbTRADE_CO.ValueMember = "Cus";
//cmbTRADE_CO.DataSource = dt;
//cmbTRADE_CO.SelectedIndex = -1;
for (int i = ; i < dt.Rows.Count; i++)
{
strings.Add(dt.Rows[i]["CusName"].ToString());
}
} cmbTRADE_CO.AutoCompleteCustomSource = strings;
cmbTRADE_CO.AutoCompleteSource = AutoCompleteSource.CustomSource;
cmbTRADE_CO.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

第二种.直接使用下拉列表中的项作为匹配的集合 (请仔细看两代码的区别: cmbTRADE_CO.AutoCompleteSource =??)

  // AutoCompleteStringCollection strings = new AutoCompleteStringCollection();
DataTable dt = customformOp.CusList().Tables[];
if (dt.Rows.Count > )
{
cmbTRADE_CO.DisplayMember = "CusName";//显示字段
cmbTRADE_CO.ValueMember = "Cus";
cmbTRADE_CO.DataSource = dt;
cmbTRADE_CO.SelectedIndex = -;
//for (int i = 0; i < dt.Rows.Count; i++)
//{
// strings.Add(dt.Rows[i]["CusName"].ToString());
//}
} // cmbTRADE_CO.AutoCompleteCustomSource = strings;
cmbTRADE_CO.AutoCompleteSource = AutoCompleteSource.ListItems;
cmbTRADE_CO.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

其AutoCompleteMode的4种情况各代表:

None:关闭自动补全功能

Suggest:展开下拉列表并显示匹配的结果

Append:自动补全

SuggestAppend:Suggest和Append的组合,即显示下拉列表也自动补全。

最终结果效果图:

C#实现Combobox自动匹配字符的更多相关文章

  1. Android 之 自动匹配字符AutoCompleteTextView

    AutoCompleteTextView是自动匹配字符,当我们输入一个单词或一段话的前几个字时,就会自动为你匹配后面的内容看效果图: 下面是代码: MainActivit: package com.e ...

  2. c# 实现ComboBox自动模糊匹配

    ComboBox自带有属性可以实现自动匹配,但是它有一个弊端,只能从头开始匹配,例如"李四LS",只能输入“李四”或"李"才能匹配出来,而输入"LS& ...

  3. C# ComboBox自动完成功能的示例

    先看一下关键代码: DataTable dt = new DataTable(); dt.Columns.Add("Name"); dt.Columns.Add("VV& ...

  4. Android控件之MultiAutoCompleteTextView(自动匹配输入的内容)

    一.功能 可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配,可用在发送短信,发邮件时选择联系人这种类型中 二.独特属性 android:comp ...

  5. Android控件之AutoCompleteTextView(自动匹配输入的内容)

    一.功能 动态匹配输入的内容,如百度搜索引擎当输入文本时,可以根据内容显示匹配的热门信息 二.独特属性 android:completionThreshold = "2"    — ...

  6. 在C#中使用正则表达式自动匹配并获取所需要的数据

    转自:http://my.oschina.net/bv10000/blog/111736 正则表达式能根据设置匹配各种数据(比如:e-mail地址,电话号码,身份中号码等等).正则表达式功能强大,使用 ...

  7. Android AutoCompleteTextView和MultiAutocompleteTextView实现动态自动匹配输入的内容

    AutoCompleteTextView MultiAutocompleteTextView 这两个控件长的很相似,功能也很相似. AutoCompleteTextView 功能: 动态匹配输入的内容 ...

  8. 自动匹配输入的内容(AutoCompleteTextView及MultiAutoCompleteTextView)

    自动匹配输入的内容 AutoCompleteTextView 1.功能动态匹配输入的内容,如百度搜索引擎当输入文本时,可以根据内容显示匹配的热门信息 2.属性:android:completionTh ...

  9. DataGridView单元格内容自动匹配下拉显示

    页面显示数据使用的控件是ComponentFactory.Krypton.Toolkit中的KryptonDataGridView控件.在指定“商品”单元格中需要根据用户输入内容自动匹配数据库中商品信 ...

随机推荐

  1. 【转】IOS开发:[1]Xcode5界面入门

    ios开发离不开xcode,这篇以xcode5界面来介绍一下xcode的界面都有哪些内容. 工具/原料 xcode5 整体来看区域有哪些? 1 首先我们先整体来看一下,xcode5界面可以分为五大主要 ...

  2. ylb:SQL 常用函数

    ylbtech-SQL Server: SQL Server-SQL 常用函数 1,数学函数 2,日期和时间函数 3,字符串函数 4,转换函数 1,ylb:SQL 常用函数返回顶部 1,数学函数 2, ...

  3. selenium python (十一)alert/confirm/prompt的处理(js中的弹出框)

    webdriver中处理js所生成的alert.confirm以及prompt,采用switch_to_alert()方法定位到alert/confirm/prompt.然后使用text/accept ...

  4. Raspberry Pi3 ~ 搭建开发环境

    关于树莓派的开发环境 纠结了一些时间 ,我的是raspberry Pi 3 mode b 在官网下载 noobs (raspbain 版本)的. 安装完成之后接上显示器 启动系统 然后最初我是想在这个 ...

  5. Json.Net 使用属性定义日期的序列化格式

    如果一个实体类里所有的时间即DateTime类型的字段,都处理成统一格式的话,可以使用如下方式: IsoDateTimeConverter timeFormat = new IsoDateTimeCo ...

  6. 使用gulp、yeoman、bower建站

    前端建站工具 标签 : 工具 *** 脚手架:yeoman 用途 快速搭建新项目 为项目增加新部分 创建模块或者包 引导新服务 ... 开始 安装yo和generator npm i -g yo np ...

  7. 如何通过Android Studio发布library到jCenter和Maven Central

    http://www.jianshu.com/p/3c63ae866e52# 在Android Studio里,如果你想引入任何library到自己的项目中,只需要很简单的在module的build. ...

  8. gradle 及 git 环境下利用hook及gradle脚本自动添加versioncode和versionname的方法

    在 app/build.gradle 文件里添加几行代码: def gitCommitShortHash = 'git log -1 --pretty=%h'.execute([], project. ...

  9. U盘分区信息清除

    diskpart select disk 1 clean 清除选中(优U)盘的所有信息;

  10. 60分钟内从零起步驾驭Hive实战学习笔记

    本博文的主要内容是: 1. Hive本质解析 2. Hive安装实战 3. 使用Hive操作搜索引擎数据实战 SparkSQL前身是Shark,Shark强烈依赖于Hive.Spark原来没有做SQL ...