WinForm软件多语言版本实现
2015-08-13 13:34
232 查看
摘要:本文旨在实现对winForm程序的多语言设置,包含自定义控件的多语言设置。
实现步骤
1.添加
using System.Threading;
using System.Globalization;
2.设置winForm 程序Localizable属性为true
更改Language属性为要改变的语言,在设计界面对需要更改语言的控件进行更改,解决方案资源管理中会自动生成相应的资源配置文件,*.zh-CN.resx(中文) *.en.resx(英文)。语言代码表见备注。
3.设置两个Button,分别为中文,英文
Click事件:
Foreach对控件进行遍历,遍历后应用res.ApplayResource(item,item.Name);对item控件的item.Name 属性进行应用资源文件。
备注信息:
语言代码表网址:http://www.lingoes.cn/zh/translator/langcode.htm
实现步骤
1.添加
using System.Threading;
using System.Globalization;
2.设置winForm 程序Localizable属性为true
更改Language属性为要改变的语言,在设计界面对需要更改语言的控件进行更改,解决方案资源管理中会自动生成相应的资源配置文件,*.zh-CN.resx(中文) *.en.resx(英文)。语言代码表见备注。
3.设置两个Button,分别为中文,英文
Click事件:
private void 英语ToolStripMenuItem_Click(object sender, EventArgs e) { Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en"); //应用资源文件,en为英语,zh-CN为中文 ApplayResource(); //ApplayResource()中执行资源应用 } private void ApplayResource() //应用资源文件 { System.ComponentModel.ComponentResourceManager res = new ComponentResourceManager(typeof(Form1)); //获取Form1 的资源管理器 foreach (Control ctl in Controls) //循环遍历控件Controlsd对 { res.ApplyResources(ctl, ctl.Name); //应用ctl的ctl.Name资源配置文件; } foreach (ToolStripMenuItem item in this.menuStrip1.Items) { res.ApplyResources(item, item.Name); foreach (ToolStripMenuItem subitem in item.DropDownItems) { res.ApplyResources(subitem,subitem.Name); } } //由于res中不包含userControl1中资源需要重新引用资源文件 //对每个新的窗口都需重新配置res System.ComponentModel.ComponentResourceManager res1 = new ComponentResourceManager(typeof(userControl1)); //获取userControl1的资源管理器 foreach (Control item in userControl12.Controls) //对自己创建的空间进行遍历 { res1.ApplyResources(item, item.Name); } }
Foreach对控件进行遍历,遍历后应用res.ApplayResource(item,item.Name);对item控件的item.Name 属性进行应用资源文件。
备注信息:
语言代码表网址:http://www.lingoes.cn/zh/translator/langcode.htm
相关文章推荐
- 什么是顶尖的互联网产品经理
- 读教育专著《用心做教育》有感
- 数据库中第一范式,第二范式,第三范式
- mysql basic operation,mysql总结
- 赌神的战斗 coj
- 77 php try--catch用法
- [转]TortoiseSVN文件夹及文件图标不显示解决方法
- mysql basic operation,mysql总结
- SQL Server 内置函数、临时对象、流程控制
- AFNetworkingErrorDomain 错误解决方法
- android ndk 入门学习2
- 拒绝游戏!发愤图强!
- 关于iOS中的懒加载
- Mac环境下svn的使用
- 读书人生
- 使用AWS TCO Calculator 比较运维费用
- ubuntu下vi的使用
- 欢迎使用CSDN-markdown编辑器
- java中的缓存技术该如何实现
- How To Install Linux, nginx, MySQL, PHP (LEMP) stack on Ubuntu 12.04