Microsoft Visual Studio International Feature Pack 2.0 自述文件

这篇文档提供了Visual Studio International Feature Pack 2.0 版本的信息。这里提供的信息包括基本功能的简单介绍以及系统需求,安装,下载和支持信息。其1.0版发布时的名字是Microsoft Visual Studio International Pack 1.0 SR1,由7个开发国际化软件应用的功能组件组成,有关Microsoft Visual Studio International Pack 1.0 SR1 的详情可访问 http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=44cac7f0-633b-477d-aed2-99aee642fc10 。 2.0版本是对 1.0版的扩展,如果希望使用全部功能请同时安装2.0和1.0两个版本。

Microsoft Visual Studio International Feature Pack 2.0 功能

Visual Studio International Feature Pack 2.0 包含一组控件和类库,设计用来帮助.NET开发人员创建国际化程序。

  • Yomigana Framework 包含了类库和控件

    • 类库:

      通用目的的一些类,用泛型实现对一个可枚举的类型注音。

  • 特殊目的的一些类,用以上泛型实现对一个字符串用某种类型中注音。特殊目的的一些StringAnnotation 类,用以上泛型实现对一个字符串用字符串注音,包括解析和格式化功能。
  • 一个比较器类,使用以上类实现比较字符串。
  • 一个实现了IEnumerable<string> 的数据结构,把一个字符串分成枚举的字符串段,并用IEnumerator<string> 输出。
  • 控件:
    • 加强的Ajax/WPF/WinForm textboxes 用来根据用户的输入捕获读音。
    • 一个加强的使用Ruby标签的ASP.NET Label。
  • Chinese Text Alignment Class Library and TextBox Controls 包含支持简体中文文本对齐的WinForm 和 WPF 的TextBox控件, 以及供帮助开发人员很容易地按中文文本对齐显示字符串的一个类库。
  • Chinese Auto Complete Class Library and TextBox Controls 包含了支持感知简体中文和繁体中文输入法并自动完成的WinForm 和 WPF 的TextBox控件, 以及供开发人员很容易地向标准控件添加感知输入法并自动完成功能的一个类库。
  • Korean Auto Complete Class Library and ComboBox Controls 包含了支持感知韩语输入法并自动完成的WinForm 和 WPF 的ComboBox控件, 以及供开发人员很容易地向标准控件添加感知输入法并自动完成功能的一个类库。
  • Numeric Formatting Class Library East Asia Numeric Formatting Library的扩展版(East Asia Numeric Formatting Library是在Microsoft Visual Studio International Pack 1.0 中发布的,它提供一些类用来帮助开发者格式化数字成繁体中文,简体中文,日文以及韩文风格的数值字符串)。格式化数字成阿拉伯文的数值字符串是新增加的支持。

系统需求

  • 支持的操作系统Windows XP Service Pack 3(x86, x64); Windows Server 2003 R2 (x86, x64); Windows Vista Service Pack 1(x86, x64); Windows Server 2008 (x86, x64).
  • 所需软件Microsoft Visual Studio 2005 或者 Microsoft Visual Studio 2008; Microsoft Expression Blend; Microsoft .NET Framework 3.5
  • 英文的Visual Studio 2008 Express 版本可以从这里下载:http://www.microsoft.com/express/download/default.aspx
  • 英文的 Visual Studio 2008 90-Day 试用版本可以从这里下载:http://msdn.microsoft.com/en-us/evalcenter/bb655861.aspx
  • Microsoft Expression Blend™ 3 可以从这里下载: http://www.microsoft.com/expression/products/Overview.aspx?key=blend

安装

  • 运行文件vsintlpack2.msi ,并完成安装 (x86操作系统上的默认安装目录是%SYSTEMDRIVE%\Program Files\Microsoft Visual Studio International Feature Pack 2.0\;x64操作系统上的默认安装目录是%SYSTEMDRIVE%\Program Files (x86)\Microsoft Visual Studio International Feature Pack 2.0\)。

下载位置

  • 请到Microsoft下载中心网站检查。

产品支持

  • Microsoft Visual Studio International Feature Pack 2.0提供了有限的邮件支持。如果您对Microsoft Visual Studio International Feature Pack 2.0有反馈或者需要技术支持, 请发邮件至 vsintlpk@microsoft.com。

应用示例:

效果图:


缺陷:

1>下拉框列表没有一直展开,需要人为点击一下
2>在GridView中显示时,没做严格校验:例用户输入一个或多个拼音之后,不选择下拉列表中的认一项,不会自动补全。
简单说明一下模糊音查询的实现:
思路:利用微软的拼音DLL类,把汉字转换成拼音,之后用关键字(字符)遍历,把遍历的结果保存到集合中。

注意事项:

在VS项目下添加引用,Microsoft Visual Studio International Feature Pack 2.0 下的三个DLL文件(微软开发拼音包,与下面的方法有关)

代码如下:

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using Microsoft.International.Converters.PinYinConverter;
using System.Collections.ObjectModel;namespace Test
{public partial class Frm_MoHuYin : XtraForm{public Frm_MoHuYin(){InitializeComponent();}/// <summary>/// gridcontrol 数据源/// </summary>BindingSource bs;/// <summary>/// 下拉框的数据来源/// </summary>List<string> listData = null;/// <summary>/// 下拉框列的格式/// </summary>DevExpress.XtraEditors.Repository.RepositoryItemComboBox ricb;/// <summary>/// 窗体加载事件/// </summary>/// <param name="sender"></param>/// <param name="e"></param>private void Frm_MoHuYin_Load(object sender, EventArgs e){//下拉框的绑定内容listData = new List<string>();string[] strs = new string[] { "北京","北平","天津","天水","天南","上海","上蔡","上班"};          listData = strs.ToList<string>();BindGrid();SetFormat();}       /// <summary>/// 绑定GridControl/// </summary>private void BindGrid() {DataTable dt = new DataTable();dt.Columns.Add("ID", Type.GetType("System.Int32"));            dt.Columns.Add("Age", Type.GetType("System.Int32"));dt.Columns.Add("Number", Type.GetType("System.String"));dt.Columns.Add("Name", Type.GetType("System.String"));DataRow dr;//随机数Random rand = new Random();for (int i = 0; i < 100; i++){dr = dt.NewRow();dr["ID"] = i + 1;                dr["Age"] = 20 + i;dr["Number"] = "A00" + (i + 1).ToString();dr["Name"] = listData[rand.Next(0, 7)];dt.Rows.Add(dr);}bs = new BindingSource();bs.DataSource = dt;gc.DataSource = bs.DataSource;}/// <summary>/// 设置下拉框列格式/// </summary>private void SetFormat() {//设置列 ColumnEditricb = new DevExpress.XtraEditors.Repository.RepositoryItemComboBox();//重新绑定数据源foreach (string aa in listData)ricb.Items.Add(aa);gv.Columns["Name"].ColumnEdit = ricb;//定义一个事件ricb.EditValueChanged += new EventHandler(ricb_EditValueChanged);}//事件实现void ricb_EditValueChanged(object sender, EventArgs e){BindSetComobox(listData);}/// <summary>/// 下拉框数据筛选,绑定/// </summary>/// <param name="listData">下拉框未筛选前的数据</param>private void BindSetComobox(List<string> listData) {          //获取当前输入的值gv.FocusedRowHandle = -1;bs.EndEdit();string ss = gv.GetFocusedRowCellDisplayText("Name").ToString();if (listData == null || listData.Count == 0)return;//筛选后的数据List<string> check = new List<string>();//如果输入的有值if (ss.Length > 0){                // 拼音模糊查询(遍历List集合中的每一项)for (int i = 0; i < listData.Count; i++){string str = ChineseToPinYin(listData[i].ToString());//判断该字符中是否包含输入的拼音if (str.ToString().Contains(ss.Trim())){//将查到的数据加到list中check.Add(listData[i]);}}               }//筛选结果,决定绑定什么if (check.Count > 0){BindComobox(check);}else{BindComobox(listData);}之后,要把gridcontrol设置可编辑状态//bs.CancelEdit();}/// <summary>/// 汉字字符串转换成拼音/// </summary>/// <param name="strFrom"></param>/// <returns></returns>private string ChineseToPinYin(string strFrom) {string strReturn = "";//定义一个可变长度的字符串StringBuilder str = new StringBuilder();try{//定义一个字符数组来接收每个汉字的拼音char[] chs; //遍历字符中的所有汉字foreach (char c in strFrom.ToCharArray()){//验证该汉字是否合法if (ChineseChar.IsValidChar(c)){ChineseChar CC = new ChineseChar(c);//将该汉字转化为拼音集合ReadOnlyCollection<string> roc = CC.Pinyins;//获取集合中第一个数据即为该汉字的拼音chs = roc[0].ToLower().ToCharArray();//将该汉字的拼音首字母追加到可变字符串中str.Append(chs[0]);}}strReturn = str.ToString();}catch {strReturn = strFrom;}return strReturn;}/// <summary>/// 绑定下拉框数据源/// </summary>/// <param name="list"></param>private void BindComobox(List<string> list) {if (ricb.Items.Count > 0)ricb.Items.Clear();             foreach (string aa in list)ricb.Items.Add(aa);        }}
}

.NET平台下,使用字母进行中文模糊查询相关推荐

  1. mysql 4 中文模糊查询_解决MySQL中文模糊查询问题

    解决MySQL中文模糊查询问题: 我们在MySQL中进行中文模糊查询时,经常会返回一些与之不相关的记录,比如查找 "%a%" 时,返回的可能有中文字符,却没有 a 字符存在.对于此 ...

  2. mysql中文模糊查询_解决MySQL中文模糊查询问题

    解决MySQL中文模糊查询问题: 我们在MySQL中进行中文模糊查询时,经常会返回一些与之不相关的记录,比如查找%a%时,返回的可能有中文字符,却没有a字符存在.对于此问题目前发现一种方法可以很方便解 ...

  3. mysql模糊查询 汉字为何不起作用_mysql中文模糊查询遇到的有关问题,各位救急...

    mysql中文模糊查询遇到的问题,各位救急啊! 我现在在mysql上遇到一个问题,我们的字符集是gb2312.在中文模糊查找时,会有不相关的结果集.你有没有好的办法解决啊? http://www.99 ...

  4. C语言的模糊查询,【C语言如何实现中文模糊查询+急+】

    C语言如何实现中文模糊查询? (急) 2009年02月25 - 我要建立一个生物信息检索系统,如何用C语言实现数据的模糊查询,数据包括中文和英文,请高手指点(最好附上例子或源程序),谢谢! 怎样用c语 ...

  5. mysql 中文模糊查询_解决mysql中文模糊查询问题的方法

    mysql进行中文模糊检索时,经常会返回一些与之不相关的记录,如查找 "%a%" 时,返回的可能有中文字符,却没有a字符存在. 通过阅读MySQL的Manual,发现了一种可以满意 ...

  6. 中文模糊查询性能优化 by PostgreSQL trgm

    前模糊,后模糊,前后模糊,正则匹配都属于文本搜索领域常见的需求. PostgreSQL在文本搜索领域除了全文检索,还有trgm是一般数据库没有的,甚至可能很多人没有听说过. 对于前模糊和后模糊,PG则 ...

  7. easyUI Combobox自定义调整支持中文模糊查询

    1.调整Combobox支持模糊查询,并支持从任意位置开始匹配 解决方案:将字符串的indexof匹配由原来的判定为头部匹配,改为包含匹配 return row[opts.textField].toL ...

  8. C语言实现中文模糊查询

    需求 在帮人设计一款C实现的过期图书管理系统时, 给出了对借书学生姓名进行模糊查询的要求. 也即如果存储信息里有 "马飞飞" 这个人, 我们检索其子串 "马" ...

  9. postgresql分妺_中文模糊查询性能优化 by PostgreSQL trgm-阿里云开发者社区

    前模糊,后模糊,前后模糊,正则匹配都属于文本搜索领域常见的需求. PostgreSQL在文本搜索领域除了全文检索,还有trgm是一般数据库没有的,甚至可能很多人没有听说过. 对于前模糊和后模糊,PG则 ...

最新文章

  1. ( Android-大神博客)
  2. jQuery二维数组遍历
  3. JAVA的内省机制(introspector)与反射机制(reflection)
  4. SAP Cloud for Customer Work Center(工作中心)的实现源代码
  5. mysql client centos_centos7 安装mysql和mysqlclient遇到的那些坑
  6. quartus将modelsim,synplify和quartus联合起来使用进行的FPGA设计(转)
  7. 16位无符号比较器设计
  8. java8 lambda map排序_Java8新特性第3章(Stream API)
  9. JS 异步编程及常考面试题
  10. eclipse拒绝mysql,eclipse连接mysql的有关问题
  11. 聚焦核心竞争力:自建与外购
  12. 大神微服务笔记全过程博客
  13. python课程网课-有没有简单易懂的入门级Python辅导书或网络课程?
  14. c++类详解:访问权限,构造函数,拷贝构造函数,析构函数
  15. Wireshark实战分析值DNS协议(二)
  16. 计算机黑屏但是有鼠标,电脑黑屏有鼠标箭头怎么办
  17. MATLAB常见语法错误
  18. 软件系统测试流程规范
  19. std::tr1::bind使用帮助
  20. 什么是正态分布?二八法则又是什么?

热门文章

  1. 出现字迹模糊迹象_迹象表明您的开发过程仅在纸上才是敏捷的-以及如何解决它
  2. dpkg error: package `x' contains empty filename,Sub-process /usr/bin/dpkg returned an error code (2)
  3. matlab各语句意思,请问这个语句表示什么意思?
  4. 稻盛和夫的成功方程式
  5. 廖雪峰Python学习笔记
  6. 容器化技术在运维管理中的应用:自动化、可视化运维
  7. Qt+WIN10+Python:PointNet实现点云显示
  8. 记录一次jmeter压测结果jtl文件过大(几十G)问题解决办法
  9. 关闭笔记本睿频,用于控制温度
  10. 关于损失函数 成本函数 代价函数