在网上找到的一般的做法是这样的:
以资源文件的形式保存字符串,然后使用CultureInfo类和ResourceManager类来读取字符串中的值,当用户选择不同的语言时,取出相应的字符串赋值给"对象.Text",这样做在字符串数量不多的时候是可以的,当字符串的数量很多的时候,用户如果选择其它语言的时候程序就会在不断的读取、赋值的过程中变得很慢,有其它更好的方法吗?谢谢各位!
以资源文件的形式保存字符串,然后使用CultureInfo类和ResourceManager类来读取字符串中的值,当用户选择不同的语言时,取出相应的字符串赋值给"对象.Text",这样做在字符串数量不多的时候是可以的,当字符串的数量很多的时候,用户如果选择其它语言的时候程序就会在不断的读取、赋值的过程中变得很慢,有其它更好的方法吗?谢谢各位!
解决方案 »
- ================正则匹配===================[
- c#重绘标题栏 windows7 和windows XP下显示不一样什么原因?
- 求问 combobox绑定数据库后程序打包的问题
- 急!!!c# socket的客户端 从c++写的服务端接受数据,怎么写? 全分想赠!
- 我想实现逐个字段赋值给GridView,报错“索引超出范围……”
- 高手们的小菜,你们来尝尝,在线等哦
- 请问在Windows.Form中如何显示Web页面?
- .net在调试的时候问题提示:没有集成windows身份验证
- 做外挂,模拟键盘
- [求助]C#使用RSA加密,只有一个公钥,要加密后的密文长度要256bit,如何实现?
- 求助
- 数据库在公网上没有ip地址,请问c#中怎么操作数据库呢?
而且语言少的话还可以。语言多的话,就在程序里附加了太多冗余数据了吧
与主题不直接相关,对于xxx.region.resx,对于某些地区存在取不出资源的情况,各位有遇到过没。
http://community.csdn.net/Expert/topic/5213/5213949.xml?temp=.8428919
单独建里一个类.里面包含所有的界面要显示的字段,相当于一个字典.每个字段用数组的方式保存,里面可以设置很多中语言.根据选择语言不同,取对应的值.速度还可以.
比如 public readonly string [] toolBarTool={"简体","繁体","英文"};等
我是这样的:用户选择其中一种语言时,执行下面的操作:
private void chineseToolStripMenuItem_Click(object sender, EventArgs e)
{
ci = new CultureInfo("zh-CN");
ReadRes();
}
private void ReadRes()
{
fileToolStripMenuItem.Text = rm.GetString("file", ci);
openToolStripMenuItem.Text = rm.GetString("open", ci);
closeToolStripMenuItem.Text = rm.GetString("close", ci);
}
其中rm是ResourceManager类,ci是CultureInfo类假如程序的界面很复杂,ReadRes()中有很多项需要读取,当用户选择语言时,因为读取、赋值的次数比较多,用户等待的时间就比较长,怎样修改程序才能让效率提高?还有就是让编写程序简单些,因为要把程序中所有用到的字符串都在ReadRes()中列一遍,这个过程有其它更简单的方法吗?谢谢各位!