1

我在 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 函数,但它不起作用

4

0 回答 0