我在 c# 中创建了一个自助服务终端应用程序,第一个表单有 6 种语言(默认为英语),当我按下西班牙语按钮时,它会在下一个表单上更改语言,但其他表单保持不变
private void btn_esp_Click(object sender, EventArgs e)
{
Thread.CurrentThread.CurrentUICulture = new CultureInfo("es-ES");
ChangeLanguage("es-ES");
this.Hide();
f1.ShowDialog();
this.Close();
f1.DesktopLocation = new Point(100, 100);
}
public void ChangeLanguage(string lang)
{
foreach (Control c in this.Controls)
{
ComponentResourceManager resources = new ComponentResourceManager(typeof(Form1a));
resources.ApplyResources(c, c.Name, new CultureInfo(lang));
foreach (Control child in c.Controls)
{
ComponentResourceManager resources_child = new ComponentResourceManager(typeof(Form1a));
resources_child.ApplyResources(child, child.Name, new CultureInfo(lang));
}
}
}
我正在以其他所有形式使用 changeLanguage 函数,但它不起作用