C#资源文件的使用(多语言切换)

mac2024-11-14  9

新建一个C#的Windows窗体应用,拖一个Button到窗口上,再打开主窗口的属性页,找到Localizable,将其设置为True,再找到Language(就在Localizable)的上面,随便选择一种语言,我这里选的是英语(美国)。 修改Button的Text属性为myButton,这时可以在资源文件下的Form1.cs中看到多了一个名为Form1.en-US.resx资源文件

双击打开它,可以看到刚才添加的myButton1已经在里面了。

这时再把窗体的Language属性改为默认,现在可以看到Button上面的文字又变成了"button1",为了便于观察效果,将Button的Text属性修改为“按钮”。双击为其添加点击事件处理函数。

private void button1_Click(object sender, EventArgs e) { System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-Us"); System.Resources.ResourceManager rm = new System.Resources.ResourceManager(typeof(Form1));//typeof里面的内容窗体的名称,我的窗体用的是默认名称Form1 button1.Text = rm.GetString("button1.Text");//GetString函数的参数之所以为"button1.Text",是因为值"myButton"在资源文件里的名称就是"button1.Text",不明白的可以再看一下Form1.en-US.resx }

运行程序,点击“按钮”,可以发现Button上面的文字变成了myButton 这只是使用资源文件的一个例子,真正进行多语言切换的时候不用一个一个地对控件Text属性赋值,具体实现方法以后有空再写吧!

最新回复(0)