C#用ComboBox实现模糊搜索 解决各种细节问题
来源:互联网 发布:网站通用域名有用吗 编辑:程序博客网 时间:2024/05/20 04:31
输入框每次输入都从左开始
输入框字符减到没有字符后点击comBoBox外的地方会出现ArgumentOutOfRangeException异常搜索时有匹配项会将第一个项自动添加到编辑框内
整体效果:
实现代码:
private void comboBoxSearch_TextUpdate(object sender, EventArgs e) //不要用TextChanged
{
string s = comboBoxSearch.Text; //获取输入内容
//查询数据库表中所有已录入人员
SQLiteCommand command = new SQLiteCommand(connection);
command.CommandText = "select * from vip";
SQLiteDataReader reader = command.ExecuteReader();
List<string> sList = new List<string>(); //存放数据库查询结果
while (reader.Read())
{
sList.Add(reader["name"].ToString());
}
//禁止删除键,在SelectionChangeCommitted中使能(只有在选择已有的项后才会使能删除键)
buttonDelete.BackColor = Color.FromArgb(180, 0, 0);
buttonDelete.Enabled = false;
//提前下拉,以显示搜索结果(必须要在添加项之前下拉,否则会将第一项自动添加到编辑框内 覆盖掉输入的内容)
comboBoxSearch.DroppedDown = true; //显示下拉列表,但是显示后鼠标指针就不见了
Cursor.Current = Cursors.Default; //将指针显示出来
//在表中已录入名字中寻找包含输入内容的项 有则添加到comboBox项中
try
{
foreach (string str in sList)
{
if (s.Length > 0)
{
if (str.Contains(s))
{
if (comboBoxSearch.Items.IndexOf(str) < 0) //如果当前下拉表中没有该字符串的话则添加,否则不添加
comboBoxSearch.Items.Add(str);
}
else
{
if (comboBoxSearch.Items.IndexOf(str) >= 0)
comboBoxSearch.Items.Remove(str);
}
}
else
{
comboBoxSearch.DroppedDown = false;
comboBoxSearch.Items.Clear();
}
}
}
catch (ArgumentOutOfRangeException ex) //清空输入框时经常会出现异常,暂时不知道怎么解决,捕获后可以正常,不处理也行
{
//textBoxInfo.AppendText("Exception: " + ex.ToString());
}
}
- C#用ComboBox实现模糊搜索 解决各种细节问题
- C#中ComboBox的模糊搜索
- easyUI combobox 文本框模糊搜索问题
- 修改easyui combobox源码,实现模糊搜索
- 修改easyui combobox源码,实现模糊搜索
- c# 实现ComboBox自动模糊匹配
- c# 实现ComboBox自动模糊匹配
- c# 实现ComboBox自动模糊匹配
- C# Combobox控件实现模糊查询功能
- easyui-combobox下拉框修改源码 实现模糊搜索
- combobox模糊搜索(收藏)
- easyui-combobox---ajax获取数据库JSON数据,实现搜索框实时显示模糊搜索结果
- 一个简单的ComboBox模糊搜索类
- EasyUi模糊匹配搜索框combobox
- js实现模糊搜索
- 在VS2010下,通过MFC用EditBox + ListBox自制ComboBox(附加简单的模糊搜索功能)
- 自定义ComboBox控件,完美解决C#自带的ComboBox效率慢的问题
- iOS-模糊搜索功能实现
- JavaSript中排序算法(一)
- java-------华为机试-----------进制转化
- ValueError: insecure string pickle简单解决方案
- JavaScript基础
- 多线程在项目中的运用
- C#用ComboBox实现模糊搜索 解决各种细节问题
- 【IMWeb训练营作业】Vue.js入门练习demo之select下拉菜单
- 杨辉三角与二项式定理
- css3的一些总结
- eclipse总是在Building WorkSpace(sleeping)
- jQuery学习笔记(一)
- 死锁产生的原因及四个必要条件
- Ajax请求到action,action返回整个页面的方式
- 【jzoj5083】【GDSOI2017第三轮模拟】【Gift】【快速傅立叶变换】