首页 > 学院 > 开发设计 > 正文

WPF中实现根据拼音查找汉字

2019-11-17 02:58:22
字体:
来源:转载
供稿:网友

WPF中实现根据拼音查找汉字

1、WPF的一个触摸屏项目,需要输入姓名,但是屏幕不支持汉字输入,使用虚拟键盘不稳定,为了解决该问题特此进行处理。

2、新建一个类转换类,里面初始化一个数组,数组包含拼音,以及拼音下的常用的汉字。

3、根据拼音,对照出对应的汉字,然后在对汉字进行拆分,获取到单个汉字。

例子如下:

PRivate static readonly string[][] _Allhz = new string[][] { new string[]{"A","啊阿呵吖嗄腌锕錒"}, new string[]{"Ai","爱矮挨哎碍癌艾唉哀蔼隘埃皑呆嗌嫒瑷暧捱砹"}, new string[]{"An","按安暗岸俺案鞍氨胺厂广庵揞犴铵桉谙鹌埯黯"}, new string[]{"Ang","昂肮盎仰卬岇昻枊醃醠骯"}, new string[]{"Ao","袄凹傲奥熬懊敖翱澳嚣拗媪廒骜嗷坳遨聱螯獒鏊鳌鏖"}, new string[]{"Ba","把八吧爸拔罢跋巴芭扒坝霸叭靶笆疤耙捌粑茇岜鲅钯魃菝灞"}, new string[]{"Bai","百白摆败柏拜佰伯稗捭呗掰"},

~~~~~~~~//省去若干 new string[]{"Zui","最嘴醉罪堆咀觜蕞"}, new string[]{"Zun","尊遵鳟撙樽僎僔噂墫奠嶟拵捘捽栫瀳繜罇袸譐跧踆蹲銌鐏鱒鶎鷷"}, new string[]{"Zuo","做作坐左座昨凿琢撮佐笮"} };

/// <summary> /// 拼音转汉字 /// </summary> /// <param name="str"></param> /// <returns></returns> public static string ConvertPzToHz(string str) { str = str.ToLower();

if (str == null) return null; byte[] bAry = new byte[2]; StringBuilder rtnSb = new StringBuilder(); for (int j = 0; j < _Allhz.Length; j++) { string py = _Allhz[j][0].ToLower();

if (py.IndexOf(str) != -1) { rtnSb.Append(_Allhz[j][1]); break; } } return rtnSb.ToString(); }

//对汉字字符串进行分解

char[] chars = strMsg.ToCharArray();


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表