C#Combobox的中文模糊查询方法

C#和Winform 专栏收录该内容
7 篇文章 0 订阅

最近在自己摸索做一个小程序的时候,偶然发现了一个问题,使用C#的combobox控件,将数据库的数据读取上来作为下啦列表的Item时,如果要从无排列规律的列项中找到需要的选项相当复杂,因为这里写一个小的方法,用于可以大致找到对应的中文,并且能够自动跳选到对应的选项。combobox的界面如图所示:
厂家名称是从数据库,按列读取上来,去重复后进行绑定的
我们要做的效果就是随意输入1~N个字,然后回车后,能够匹配到最为接近的条目,比如,输入德里,点击回车后能够有一下效果:
已经选择了对应的选项
下面贴出代码:

**private void cbo_client_KeyPress(object sender, KeyPressEventArgs e)
        {
            int n = 0;
            if (e.KeyChar == 13)//点击了回车键
            {
                for (; n < cbo_client.Items.Count; n++)
                {//遍历每一项,查看项的字符串是否包含combobox显示文本字符串
                    if (cbo_client.Items[n].ToString().Contains(cbo_client.Text.Trim()))
                    {
                        break;如果包含,则直接退出循环
                    }
                }
                if (n != cbo_client.Items.Count)没有溢出,就是在项目中,有相似项
                {//找到相似选项
                    if (!cbo_client.Text.Trim().Equals(cbo_client.Items[n].ToString().Trim()))
                    {//如果输入选项和选项名称不相符合,则重新赋值
                        cbo_client.Text = cbo_client.Items[n].ToString().Trim();
                    }
                }
            }
        }**
  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值