How do I change the culture of a WinForms application at runtime

后端 未结 3 681
攒了一身酷
攒了一身酷 2020-11-29 10:19

I have created Windows Form Program in C#. I have some problems with localization. I have resource files in 2 languages(one is for english and another is for french). I want

3条回答
  •  臣服心动
    2020-11-29 11:11

    You might have to call ApplyResources recursively on the controls:

    private void btnfrench_Click(object sender, EventArgs e)
    {
        ApplyResourceToControl(
            this, 
            new ComponentResourceManager(typeof(BanksForm)), 
            new CultureInfo("fr-FR"))
    }
    
    private void ApplyResourceToControl(
       Control control, 
       ComponentResourceManager cmp, 
       CultureInfo cultureInfo)
    {
        cmp.ApplyResources(control, control.Name, cultureInfo);
    
        foreach (Control child in control.Controls)
        {
            ApplyResourceToControl(child, cmp, cultureInfo);
        }
    }
    

提交回复
热议问题