文档章节

c# WinForm 中英文智能提示

白志华
 白志华
发布于 2015/10/18 10:54
字数 481
阅读 12
收藏 0
点赞 0
评论 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

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

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

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

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

gogoblue
2016/11/22
0
0
使用LoadRunner11运行.NET4.5编译的Winform程序

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

北风其凉
2016/07/04
284
0
VS2005 C#开发Windows Mobile 5.0 智能设备程序

VS2005 C#开发Windows Mobile 5.0 智能设备程序 一.Visual Studio 2005中配置Windows Mobile 5.0开发环境 安装的软件包: Microsoft ActiveSync 4.2 Windows Mobile 5.0 Pocket PC SDK Wind......

晨曦之光
2012/05/16
469
0
Winform分页控件最新版本发布,并提供基于DotNetBar界面的版本

该Winform分页控件很早就开发了,一直在我所有的共享软件项目中使用,并得到很多Winform开发者的热爱和支持,其中逐步完善了一些功能及优化。从较早时期的随笔《WinForm界面开发之“分页控件...

长平狐
2012/08/22
137
0
在Winform程序中设置管理员权限及为用户组添加写入权限

在我们一些Winform程序中,往往需要具有一些特殊的权限才能操作系统文件,我们可以设置运行程序具有管理员权限或者设置运行程序的目录具有写入的权限,如果是在操作系统里面,我们可以设置运...

walb呀
2017/12/04
0
0
Winform分页控件最新版本发布,并提供基于DotNetBar界面的版本

该Winform分页控件很早就开发了,一直在我所有的共享软件项目中使用,并得到很多Winform开发者的热爱和支持,其中逐步完善了一些功能及优化。从较早时期的随笔《WinForm界面开发之“分页控件...

长平狐
2012/06/11
2.2K
0
基于.NET的图表控件解决方案

.netCHARTING是一个非常棒的.NET图表控件,对中文支持非常好,而且操作方便,开发快速,既有webform 也有winform的。 .netCHARTING结合眩目的图形和全面的接口,为您带来的任何平台上的最引人...

zkjava
2012/02/23
0
0
【Android 开发入门】我为什么要在Android找工作越来越难的时候开始学习它

首先,Android是不是真的找工作越来越难呢?这个可能是大家最关心的。这个受大的经济环境以及行业发展前景的影响,同时也和个人因素有关。 2016-08-26 近期一方面是所在的公司招聘Java开发人...

微wx笑
2016/08/26
0
0
区块链从入门到放弃-区块链入门汇总整理

一个完整的入门整理帖,所以到处搜罗搬运了一些觉得挺不错的来,直接贴链接应该不算侵权吧 入门介绍与原理: 一、比特币 1.比特币白皮书 这是一切的开始 2.精通比特币 讲比特币很详细的一本书...

雪花又一年
04/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式 Factory工厂模式 Singleton单例模式 Delegate委派模式 Strategy策略模式 Prototype原型模式 Template模板模式 Spring5 beans 接口实例化 代理Bean操作 ...

小致dad
15分钟前
0
0
SpringBoot | 第十章:Swagger2的集成和使用

前言 前一章节介绍了mybatisPlus的集成和简单使用,本章节开始接着上一章节的用户表,进行Swagger2的集成。现在都奉行前后端分离开发和微服务大行其道,分微服务及前后端分离后,前后端开发的...

oKong
今天
9
0
Python 最小二乘法 拟合 二次曲线

Python 二次拟合 随机生成数据,并且加上噪声干扰 构造需要拟合的函数形式,使用最小二乘法进行拟合 输出拟合后的参数 将拟合后的函数与原始数据绘图后进行对比 import numpy as npimport...

阿豪boy
今天
12
0
云拿 无人便利店

附近(上海市-航南路)开了家无人便利店.特意进去体验了一下.下面把自己看到的跟大家分享下. 经得现场工作人员同意后拍了几张照片.从外面看是这样.店门口的指导里强调:不要一次扫码多个人进入....

周翔
昨天
1
0
Java设计模式学习之工厂模式

在Java(或者叫做面向对象语言)的世界中,工厂模式被广泛应用于项目中,也许你并没有听说过,不过也许你已经在使用了。 简单来说,工厂模式的出现源于增加程序序的可扩展性,降低耦合度。之...

路小磊
昨天
203
1
npm profile 新功能介绍

转载地址 npm profile 新功能介绍 npm新版本新推来一个功能,npm profile,这个可以更改自己简介信息的命令,以后可以不用去登录网站来修改自己的简介了 具体的这个功能的支持大概是在6这个版...

durban
昨天
1
0
Serial2Ethernet Bi-redirection

Serial Tool Serial Tool is a utility for developing serial communications, custom protocols or device testing. You can set up bytes to send accordingly to your protocol and save......

zungyiu
昨天
1
0
python里求解物理学上的双弹簧质能系统

物理的模型如下: 在这个系统里有两个物体,它们的质量分别是m1和m2,被两个弹簧连接在一起,伸缩系统为k1和k2,左端固定。假定没有外力时,两个弹簧的长度为L1和L2。 由于两物体有重力,那么...

wangxuwei
昨天
0
0
apolloxlua 介绍

##项目介绍 apolloxlua 目前支持javascript到lua的翻译。可以在openresty和luajit里使用。这个工具分为两种模式, 一种是web模式,可以通过网页使用。另外一种是tool模式, 通常作为大规模翻...

钟元OSS
昨天
2
0
Mybatis入门

简介: 定义:Mybatis是一个支持普通SQL查询、存储过程和高级映射的持久层框架。 途径:MyBatis通过XML文件或者注解的形式配置映射,实现数据库查询。 特性:动态SQL语句。 文件结构:Mybat...

霍淇滨
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部