图 1 |
menuItem1_Name=Language button1_Name=Exit label1_Text=This is English version! |
menuItem1_Name=语言 button1_Name=退出 label1_Text=这是中文版! |
需要注意的是Resource_zh.txt文件中含有汉字,必须以UTF-8编码保存。在Visual Studio .NET集成开发环境中,可以先点击“文件”菜单中的“高级保存选项”,选中UTF-8编码格式,再保存文件。
然后,点击“程序”菜单中的“Visual Studio .NET命令提示”菜单,进入DOS方式,输入以下两行命令,生成程序中能够访问的资源文件MyApp.resources和MyApp.zh-CN.resources。英文资源文件MyApp.resources 作为默认的后备资源文件。MyApp.zh-CN.resources
是中文资源文件,文件名中的“MyApp”是资源文件的根名称,必须与后备资源文件的根名称相同,“zh-CN”指定资源文件的区域性。
F:\Csharp\MyApp>resgen Resource_en.txt,MyApp.resources
F:\Csharp\MyApp>resgen Resource_zh.txt,MyApp.zh-CN.
resources
精品教程尽在w ww.xvna.com
五、修改代码
1、在代码的开头添加需引用的命名空间。
using System.Globalization; using System.Resources; using System.Threading; using System.IO; |
CultureInfo ci = new CultureInfo(""); Res ource Manag er rm = Res ource Manag er.CreateFileBasedResourceManager("MyAPP", ".", null); |
private void ReadResources(){ this.menuItem1.Text = rm.GetString("menuItem1_Text",ci) ; this.button1.Text = rm.GetString("button1_Text",ci); this.label1.Text = rm.GetString("label1_Text",ci); this.Refresh(); } |
private void Form1_Load(...) { StreamReader sr=File.OpenText("MyAppConfig.ini"); if (sr.ReadLine()=="Chinese"){ ci = new CultureInfo("zh-CN"); menuItem2.Checked=true; } else { ci = new CultureInfo("en"); menuItem3.Checked=true; } sr.Close(); this.ReadResources(); } |
private void SaveConfig(string p_Language){ StreamWriter sw=File.CreateText("MyAppConfig.ini"); sw.WriteLine(p_Language); sw.Close(); } private void menuItem2_Click(...){ this.SaveConfig("Chinese");ci = new CultureInfo("zh-CN"); menuItem2.Checked=true; menuItem3.Checked=false; this.ReadResources(); } private void menuItem3_Click(...){ this.SaveConfig("English"); ci = new CultureInfo("en"); menuItem2.Checked=false; menuItem3.Checked=true; this.ReadResources(); } |
private void button1_Click(...) { this.Close(); } |
图2 图3 |