3u8760,宫心计粤语版,范冰冰色情
公司erp系统(winform)要搞个繁体版,供中国台湾同胞使用。
为了简便起见,写了几个方法,在form_load里调用。
public sub transcontroltexttotraditionalchinese(byref tpinstance as form) tpinstance.text = transtexttotraditionalchinese(tpinstance.text) for each objcontrol in tpinstance.controls if typeof (objcontrol) is menustrip orelse typeof (objcontrol) is toolstrip orelse typeof (objcontrol) is statusstrip then transcontroltexttotraditionalchinese_tool(objcontrol) elseif typeof (objcontrol) is flowlayoutpanel then transcontroltexttotraditionalchinese_flowlayoutpanel(objcontrol) elseif typeof (objcontrol) is panel orelse typeof (objcontrol) is groupbox then transcontroltexttotraditionalchinese(objcontrol) elseif typeof (objcontrol) is tabcontrol then transcontroltexttotraditionalchinese_tabcontrol(objcontrol) elseif typeof (objcontrol) is datagridview then transcontroltexttotraditionalchinese_datagridview(objcontrol) elseif typeof (objcontrol) is textbox orelse typeof (objcontrol) is label orelse typeof (objcontrol) is button orelse typeof (objcontrol) is checkbox orelse typeof (objcontrol) is radiobutton then objcontrol.text = strconv(objcontrol.text, vbstrconv.traditionalchinese) end if next end sub
核心的还是这一句:objcontrol.text = strconv(objcontrol.text, vbstrconv.traditionalchinese)
在简体版win7下运行良好。到了中文(台湾)繁体版win7下,直接成了乱码了。
真是百思不得其解。
仔细研究了一下strconv方法,还有第三个参数。
public function strconv(str as string, conversion as microsoft.visualbasic.vbstrconv, optional localeid as integer = 0) as string
查了msdn也没有结果,最后在网上查到了相关资料。
毛病就出这个localeid这个参数上,这个参数指的是转换后的语言的代码。
以下是我在网上搜索到的windows下常用语言以及对应的代码
语言 | 代码 |
---|---|
中文(香港特别行政区) | 3076 |
中文(中国) | 2052 |
中文(台湾) | 1028 |
英语(美国) | 1033 |
在office及vs的安装目录都能看到2052这个目录,代表的就是中文简体。
那我们做一些测试。
textbox1.text = strconv("我是中国人", vbstrconv.traditionalchinese, 2052) '显示我是中國人 textbox2.text = strconv("我是中国人", vbstrconv.traditionalchinese, 1028) '显示乱码 我是中?人 textbox3.text = strconv("我是中国人", vbstrconv.traditionalchinese, 1033) '显示我是中國人
1028是windows下的中文(台湾)代码。在转换使用这个代码表时,不是所有的中文简体编码值在繁体中都存在,所以就出现了?号。
而localeid默认为0也就是使用系统默认的,那在中文(台湾)繁体版操作系统下这个就为1028.
所以出现了之前的那个乱码的图片。
那最好使用1033。代表英文en-us,当使用1033时,遇到中文时就会以unicode来编码。就不会出现简繁转换乱码的问题。
最终把我的代码改为了:
objcontrol.text = strconv(objcontrol.text, vbstrconv.traditionalchinese)
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
win10如何启用管理员账户 win10禁用/启用管理员账户的方法
win10怎么查看驱动是否异常 Win10检测驱动程序是否正常的方法
Windows10系统任务栏无效图标怎么删除 通过注册表一键快速删除
Win10系统自动重启怎么办 Win10系统自动重启的关闭方法
怎么减少win10笔记本功耗 详谈笔记本硬件功耗大的原因和解决办法
网友评论