文档章节

c# WinForm 中英文智能提示

白志华
 白志华
发布于 2015/10/18 10:54
字数 481
阅读 23
收藏 0

在项目中,查询功能总是少不了的,系统越大,查询就越显得臃肿繁琐。不过,看过百度谷歌以后,是不是决定我们应该像他们学习学习呢?


为了提高效率,减少冗杂的操作流程,第一种方法:提供一个简单的输入框,然后使用模糊查询,将有关关键字的内容全部查出来,还可以提供结果中2次查询。第二种方法:提供一个查询字典,当用户输入字符后,自动匹配,提供建议的关键字,方便用户进行查询。今天我就跟大家分享一下第二种方法吧:


难么?不做,难死!去做,发现,其实最关键的就四句话:

//定义一个自动完成的字符串集合
            AutoCompleteStringCollection acsc = new AutoCompleteStringCollection();

            /* 向acsc中加载匹配数据 */

            //设置文本框的自动完成模式为Suggest
            txtInput.AutoCompleteMode = AutoCompleteMode.Suggest;

            //设置文本框的自动完成数据源为用户自定义数据源
            txtInput.AutoCompleteSource = AutoCompleteSource.CustomSource;

            //设置文本框的自定义数据源为acsc
            txtInput.AutoCompleteCustomSource = acsc;

以上可以完美匹配英文,数字等,但是却不能直接匹配汉字。思来想去,只能是编码的问题了。转换了一下,终于发现完美解决了。现在把源码都贴出来,供大家参阅;

private void Form1_Load(object sender, EventArgs e)
        {
            //定义一个自动完成的字符串集合
            AutoCompleteStringCollection acsc = new AutoCompleteStringCollection();

            foreach (var variable in lstTips.Items)
            {
                //将中文转码
                byte[] bytes = Encoding.Default.GetBytes(variable.ToString());
                string s = Encoding.GetEncoding("gb2312").GetString(bytes);
                acsc.Add(s);
            }

            //设置文本框的自动完成模式为Suggest
            txtInput.AutoCompleteMode = AutoCompleteMode.Suggest;

            //设置文本框的自动完成数据源为用户自定义数据源
            txtInput.AutoCompleteSource = AutoCompleteSource.CustomSource;

            //设置文本框的自定义数据源为acsc
            txtInput.AutoCompleteCustomSource = acsc;
        }



    


版权声明:本文为博主原创文章,未经博主允许不得转载。

本文转载自:http://blog.csdn.net/xiaoxian8023/article/details/8511129

共有 人打赏支持
白志华
粉丝 31
博文 265
码字总数 57524
作品 0
长沙
程序员
私信 提问
C#使用FluentData访问MySQL数据库提示错误。

我在Visual Studio 2015中的WebForm和WinForm使用FluentData访问MySQL数据库,总是提示: “找不到请求的 .Net Framework Data Provider。可能没有安装。” ==== 1. 操作系统是Windows 10 64...

primates
2015/12/02
429
1
IIS7 性能(内存、CPU、当前请求耗时)监测

程序上线了,但运行过程中如果发现CPU、内存异常,某些操作耗时,如何在生产环境中监测并查明原因呢,有以下几种工具(方式): 1、NProfiler,这是一个商业软件,有试用周期,可以监测包括W...

gogoblue
2016/11/22
0
0
询问学习的方向

本人今年大四。 大一、大二学c#了,做过几个项目,其中有网站、winform都有公司在使用。熟悉领域:winform控件、ADO.NET、多线程、网络、xml、了解js、css、会使用三层架构。 大三到目前一直...

Reage-
2012/12/05
489
3
JSON C# Class Generator ---由json字符串生成C#实体类的工具

json作为互联网上轻量便捷的数据传输格式,越来越受到重视。但在服务器端编程过程中,我们常常希望能通过智能提示来提高编码效率。JSON C# Class Generator 能将json格式所表示的Javascrip...

幕三少
2018/05/03
0
0
使用LoadRunner11运行.NET4.5编译的Winform程序

我的操作系统是Win7旗舰版,安装了LoadRunner11,安装过程可参考这篇文章: http://my.oschina.net/Tsybius2014/blog/704949 现使用VS2012建立了Windows窗体应用程序,里面放置了一个WebBrow...

北风其凉
2016/07/04
284
0

没有更多内容

加载失败,请刷新页面

加载更多

百度黄埔学院将培养一批首席AI架构师,为“国之重器”赋能

深度学习高端人才不仅是AI发展的重要养分,也是企业转型AI巨大推动力。2019年1月19日,百度黄埔学院——深度学习架构师培养计划在百度科技园举行开学典礼,深度学习技术及应用国家工程实验室...

深度学习之桨
42分钟前
2
0
扒站wget仿站

wget -c -r -p -np -k http://xxx.com/xxx 其中: -c, --continue (断点续传) 接着下载没下载完的文件 -r, --recursive(递归) specify recursive download.(指定递归下载) -p, --page...

临江仙卜算子
45分钟前
2
0
Nextjs+React非页面组件SSR渲染

@随风溜达的向日葵 Nextjs Nextjs是React生态中非常受欢迎的SSR(server side render——服务端渲染)框架,只需要几个步骤就可以搭建一个支持SSR的工程(_Nextjs_的快速搭建见Next.js入门)...

随风溜达的向日葵
今天
3
0
如何在 Linux 系统查询机器最近重启时间

在你的 Linux 或类 UNIX 系统中,你是如何查询系统上次重新启动的日期和时间?怎样显示系统关机的日期和时间? last 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名...

来来来来来
今天
4
0
Redis协议是什么样的

前言 我们用过很多redis的客户端,有没有相过自己撸一个redis客户端? 其实很简单,基于socket,监听6379端口,解析数据就可以了。 redis协议 解析数据的过程主要依赖于redis的协议了。 我们...

春哥大魔王的博客
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部