备注 :代码为借鉴,目的为方便自己做项目
- 首先需要在主窗口界面中设置
1.Localizable( 可本地化 ) : 设置为TRUE
2.Language(语言): 选择自己需要的语言 - 设置控件文本Text 本地化的名称
例如需要 中文和英文,那么就先将所有控件都改为中文, 之后再切换 1.2 为 英文 再次改写控件名称 - 工程会生成两个".resx"文件 “en”(英文)和“zh”(中文)
也可在下图方式添加
- 示例图
- 添加代码
- 按钮点击事件
private void btn_Chinese_Click(object sender, EventArgs e)
{
//更改当前线程的 CultureInfo
//zh-CN 为中文,更多的关于 Culture 的字符串请查 MSDN
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("zh-CN");
//对当前窗体应用更改后的资源
ApplyResource();
}
private void btn_English_Click(object sender, EventArgs e)
{
//更改当前线程的 CultureInfo
//en 为英文,更多的关于 Culture 的字符串请查 MSDN
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en");
//对当前窗体应用更改后的资源
ApplyResource();
}
2. 封装后的代码
/**//// <summary>
/// 应用资源
/// ApplyResources 的第一个参数为要设置的控件
/// 第二个参数为在资源文件中的ID,默认为控件的名称
/// </summary>
private void ApplyResource()
{
System.ComponentModel.ComponentResourceManager res = new ComponentResourceManager(typeof(LoginFrm));
foreach (Control ctl in Controls)
{
res.ApplyResources(ctl, ctl.Name);
}
this.ResumeLayout(false);
this.PerformLayout();
res.ApplyResources(this, "$this");
}
- 产品呈现