资源简介
在一个项目总ComboBox中有很多项目,用户查找非常麻烦,系统自带的快速定位是匹配首字母,使用起来非常不方便。网上找了很多,都是基于Items.Add()的方式,这种方式不支持数据源的键值对应。所以自己写了一个,发上来给大家分享!
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.Text;
namespace Socg
{
public class Common
{
#region public static char GetChineseSpell()----提取汉字的拼音首字母
///
/// 将Asc码转换为拼音首字母。
/// 如果 Asc 小于256,则原样返回
/// 如果 转换失败,则返回“*“。如:中文标点符号
/// 速度:25000000次/秒
///
/// 字符的Asc码
/// 拼音首字母
public static char GetChineseSpell(int ChineseAsc)
{
if(ChineseAsc < 256)
return (char)ChineseAsc;
else if(ChineseAsc >= 45217 && ChineseAsc < 45253)
return ‘A‘;
else if(ChineseAsc >= 45253 && ChineseAsc < 45761)
return ‘B‘;
else if(ChineseAsc >= 45761 && ChineseAsc < 46318)
return ‘C‘;
else if(ChineseAsc >= 46318 && ChineseAsc < 46826)
return ‘D‘;
else if(ChineseAsc >= 46826 && ChineseAsc < 47010)
return ‘E‘;
else if(ChineseAsc >= 47010 && ChineseAsc < 47297)
return ‘F‘;
else if(ChineseAsc >= 47297 && ChineseAsc < 47614)
return ‘G‘;
else if(ChineseAsc >= 47614 && ChineseAsc < 48119)
return ‘H‘;
// else if(ChineseAsc>=48119&&ChineseAsc<48119)return ‘I‘;
else if(ChineseAsc >= 48119 && ChineseAsc < 49062)
return ‘J‘;
else if(ChineseAsc >= 49062 && ChineseAsc < 49324)
return ‘K‘;
else if(ChineseAsc >= 49324 && ChineseAsc < 49896)
return ‘L‘;
else if(ChineseAsc >= 49896 && ChineseAsc < 50371)
return ‘M‘;
else if(ChineseAsc >= 50371 && ChineseAsc < 50614)
return ‘N‘;
else if(ChineseAsc >= 50614 && ChineseAsc < 50622)
return ‘O‘;
else if(ChineseAsc >= 50622 && ChineseAsc < 50906)
return ‘P‘;
else if(ChineseAsc >= 50906 && ChineseAsc < 51387)
return ‘Q‘;
else if(ChineseAsc >= 51387 && ChineseAsc < 51446)
return ‘R‘;
else if(ChineseAsc >= 51446 && ChineseAsc < 52218)
return ‘S‘;
else if(ChineseAsc >= 52218 && ChineseAsc < 52698)
return ‘T‘;
// else if(ChineseAsc>=52698&&ChineseAsc<52698)return ‘U‘;
// else if(ChineseAsc>=52698&&ChineseAsc<52698)return ‘V‘;
else if(ChineseAsc >= 52698 && ChineseAsc < 52980)
return ‘W‘;
else if(ChineseAsc >= 52980 && ChineseAsc < 53689)
return ‘X‘;
else if(ChineseAsc >= 53689 && ChineseAsc < 54481)
return ‘Y‘;
else if(ChineseAsc >= 54481)
return ‘Z‘;
else
return ‘*‘;
}
///
/// 将汉字字符转换为拼音首字母。
/// 如果 Asc 小于256,则原样返回
/// 如果 转换失败,则返回“*“。如:中文标点符号
/// 速度:1500000次/秒
///
/// 要转换的字符
/// 拼音首字母
public static char GetChineseSpell(char ChineseChar)
{
int ChineseAsc;
byte[] ChineseByte =System.Text.Encoding.Default.GetBytes(ChineseChar.ToString());
if(ChineseByte.Length < 2)
{
ChineseAsc = ChineseByte[0];
}
else
{
ChineseAsc = (ChineseByte[0] << 8) + ChineseByte[1];
}
return GetChineseSpell(ChineseAsc);
}
///
/// 将包含汉字的字符串转换为拼音首
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1398 2013-03-23 03:35 智能过滤.sln
文件 120 2013-03-23 03:25 SocgComboBox\app.config
文件 8704 2013-03-23 03:35 SocgComboBox\bin\Debug\SocgComboBox.dll
文件 120 2013-03-23 03:25 SocgComboBox\bin\Debug\SocgComboBox.dll.config
文件 22016 2013-03-23 03:35 SocgComboBox\bin\Debug\SocgComboBox.pdb
文件 14328 2013-03-23 03:34 SocgComboBox\bin\Debug\SocgComboBox.vshost.exe
文件 120 2013-03-23 03:25 SocgComboBox\bin\Debug\SocgComboBox.vshost.exe.config
目录 0 2013-03-23 03:34 SocgComboBox\bin\Debug
目录 0 2013-03-23 03:26 SocgComboBox\bin
文件 10269 2013-03-23 03:33 SocgComboBox\Common.cs
目录 0 2013-03-23 03:26 SocgComboBox\obj\Debug\Refactor
文件 423 2013-03-23 03:34 SocgComboBox\obj\Debug\SocgComboBox.csproj.FileListAbsolute.txt
文件 8704 2013-03-23 03:35 SocgComboBox\obj\Debug\SocgComboBox.dll
文件 22016 2013-03-23 03:35 SocgComboBox\obj\Debug\SocgComboBox.pdb
目录 0 2013-03-23 03:24 SocgComboBox\obj\Debug\TempPE
目录 0 2013-03-23 03:35 SocgComboBox\obj\Debug
目录 0 2013-03-23 03:24 SocgComboBox\obj
文件 1346 2013-03-23 03:35 SocgComboBox\Properties\AssemblyInfo.cs
目录 0 2013-03-23 03:35 SocgComboBox\Properties
文件 5751 2013-03-23 03:33 SocgComboBox\SocgComboBox.cs
文件 2432 2013-03-23 03:34 SocgComboBox\SocgComboBox.csproj
目录 0 2013-03-23 03:48 SocgComboBox
文件 120 2013-03-23 03:36 测试\app.config
文件 8704 2013-03-23 03:35 测试\bin\Debug\SocgComboBox.dll
文件 22016 2013-03-23 03:35 测试\bin\Debug\SocgComboBox.pdb
文件 7680 2013-03-23 03:41 测试\bin\Debug\测试.exe
文件 120 2013-03-23 03:36 测试\bin\Debug\测试.exe.config
文件 19968 2013-03-23 03:41 测试\bin\Debug\测试.pdb
文件 14328 2013-03-23 03:42 测试\bin\Debug\测试.vshost.exe
文件 120 2013-03-23 03:36 测试\bin\Debug\测试.vshost.exe.config
............此处省略26个文件信息
- 上一篇:Codec_Setup3.1.zip
- 下一篇:仿携程去哪双日历控件
相关资源
- vs2008演示ComboBox下拉列表控件的使用
- 自定义QComboBox,用Listwidget做Model,美
- 功能强大美观的画图程序,可画各种
- QPushButton和QListView实现自定义QcomboBo
- qt 定制省市区三级选择框
- 在combobox控件中添加图标
- 图形用户界面与事件处理机制源文件
-
QT4 xm
l与QTableWidget的结合,QTableWid - Qt之QComboBox定制二
- qt之QComboBox定制
- ComboBox下拉模板自定义样式
- 带图标的ComboBox
- Qt 控件 实现 QComboBox输入自动提示功能
- Extjs4下拉菜单ComboBox中用Grid显示通用
- QCheckCombox
- 自绘CComboBox
- DataGridView(DataGridViewComboBoxCell)使用
- Qt 自定义的Combobox
- Qt之QComboBox 自定义实现多个ComboBox实时
- QTableView 中单元格添加控件的代码含
评论
共有 条评论