【发布时间】:2012-10-25 15:11:40
【问题描述】:
我在更改表单中的语言时遇到问题。我的表格中的文本都是英文文本。当我在组合框中选择西班牙语时,什么也没有发生。选择法语时也一样。我的表单中的可本地化是 TRUE。我的语言是默认的。我的代码有什么问题?需要帮忙。我的项目。
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedItem.ToString() == "English")
{
ChangeLanguage("en");
}
else if (comboBox1.SelectedItem.ToString() == "Spanish")
{
ChangeLanguage("es-ES");
}
else if (comboBox1.SelectedItem.ToString() == "French")
{
ChangeLanguage("fr-FR");
}
}
private void ChangeLanguage(string lang)
{
foreach (Control c in this.Controls)
{
ComponentResourceManager resources = new ComponentResourceManager(typeof(UserLogin));
resources.ApplyResources(c, c.Name, new CultureInfo(lang));
}
}
我添加的命名空间
using System.Globalization;
using System.Threading;
【问题讨论】:
-
您将不得不设置 Thread.CurrentCulture 并可能重新初始化您的表单 - 我认为但不能保证...
标签: c# localization