スペイン語ボタンを押すと、次のフォームの言語が変更されますが、他のフォームは同じままです
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 関数を使用していますが、機能しません