您的位置:首页 > 编程语言 > C#

用c# 创建支持多语言的应用程序 资源文件 resx

2014-04-09 23:04 375 查看
原文地址: http://blog.csdn.net/antswallow/article/details/2150318
互联网无国界,越来越多的应用程序必须面对全球用户了,如何设计一个支持多国语言的应用程序呢?

在.net2.0 中,m$ 为我们提供了一种简单方便的方法, 使用资源文件

1.新建一个 Winform 应用程序, 新建一 Form ,名为 Form1,添加两个按钮 btnChinese, btnEnglish

2. 设置 Form1 的 Localizable 属性为 true, 设置该属性后,.net 将根据不同的语言,为应用程序生成不同的资源文件

3.设置各个控件的文本(系统默认语言下)

4.更改 Form1 的 Language 属性为想要支持的另一种语言,此例中我们选用 English

5.重新设置各个控件的文本

注:此时.net 将为 Form1 生成另一个资源文件,在本例中名为 Form1.en.resx

6. 如果有其它的语言要设置,请重复第4,第5步

7.编写代码


private void btnChinese_Click(object sender, EventArgs e)






{


//更改当前线程的 CultureInfo


//zh-CN 为中文,更多的关于 Culture 的字符串请查 MSDN


Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("zh-CN");


//对当前窗体应用更改后的资源


ApplyResource();


}




private void btnEnglish_Click(object sender, EventArgs e)






{


//更改当前线程的 CultureInfo


//en 为英文,更多的关于 Culture 的字符串请查 MSDN


Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en");


//对当前窗体应用更改后的资源


ApplyResource();


}






/**//// <summary>


/// 应用资源


/// ApplyResources 的第一个参数为要设置的控件


/// 第二个参数为在资源文件中的ID,默认为控件的名称


/// </summary>


private void ApplyResource()






{


System.ComponentModel.ComponentResourceManager res = new ComponentResourceManager(typeof(Form1));


foreach (Control ctl in Controls)






{


res.ApplyResources(ctl, ctl.Name);


}


}

大致的代码就完成了,此时点击 “中文”按钮,画面切换为中文,点击“英文”按钮,画面立即切换为英文
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: