winform中ComboBox利用AutoComplete属性实现模糊查询(有缺陷)

本文介绍如何使用ComboBox控件的AutoComplete特性实现从左至右的模糊查询功能。通过实例演示了简单配置步骤,并讨论了其局限性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  上一篇文章是用ComboBox里面的原生事件实现模糊查询,操作比较灵活一些,但是收到评论说,利用AutoComplete属性就可以实现模糊查询,但是据本人所了解,AutoComplete虽然能够方便的实现模糊查询,但是有一定的缺陷,就是,模糊查询只能从左往右。

  上一篇连接地址:http://www.cnblogs.com/xilipu31/p/3993049.html

  下面是简单的实现方式:

  前台:一个简单的form窗体+ComboBox控件

  后台:申明List<string> listOnit用于初始化ComboBox的备选数据,然后设置ComboBox属性:AutoCompleteSource(自动完成数据源),AutoCompleteMode(提示类型)以及AutoCompleteCustomSource(绑定数据源)。

  具体代码如下:

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using  System;
using  System.Collections.Generic;
using  System.ComponentModel;
using  System.Data;
using  System.Drawing;
using  System.Linq;
using  System.Text;
using  System.Windows.Forms;
 
namespace  TimerDemo
{
     public  partial  class  Form3 : Form
     {
         //初始化绑定默认关键词(此数据源可以从数据库取)
         List< string > listOnit =  new  List< string >();
 
         public  Form3()
         {
             InitializeComponent();
         }
 
         private  void  Form3_Load( object  sender, EventArgs e)
         {
             BindComboBox();
         }
 
         /// <summary>
         /// 绑定ComboBox
         /// </summary>
         private  void  BindComboBox()
         {
             listOnit.Add( "张三" );
             listOnit.Add( "张思" );
             listOnit.Add( "张五" );
             listOnit.Add( "王五" );
             listOnit.Add( "刘宇" );
             listOnit.Add( "马六" );
             listOnit.Add( "孙楠" );
             listOnit.Add( "那英" );
             listOnit.Add( "刘欢" );
 
             //自动完成数据源
             this .comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
             //提示类型  建议列表+自动补全
             this .comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
             //绑定数据源
             this .comboBox1.AutoCompleteCustomSource.AddRange(listOnit.ToArray());
         }
     }
}

 以下是实现效果截图:

从左到右输入关键词模糊查询(例如输入:张)

 

可以得出正确的提示和结果。

如果不是从左到右的模糊查询呢?(例如输入:三)

 

可以看出,并不能将模糊数据查询出来。

 

总结:

  ComboBox控件的AutoComplete事件可以用在模糊查询程度不高,从左到右的关键词搜索,如果想实现高级的模糊查询,还是自己定义的方式比较灵活一些。

 

作者: 枫上善若水
出处: http://www.cnblogs.com/xilipu31/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
正在看本人博客的这位童鞋,我看你气度不凡,谈吐间隐隐有王者之气,日后必有一番作为!旁边有“推荐”二字,你就顺手把它点了吧,相得准,我分文不收;相不准,你也好回来找我!

转载于:https://www.cnblogs.com/Echo529/p/6382244.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值