【发布时间】:2019-08-17 05:21:13
【问题描述】:
我有一个 winform,我将表单的语言更改为荷兰语。之后,我编辑组框标签的名称等。当我更改单选按钮时,它只会更改组框的名称,而不是文本框的标签。
我将表单的语言更改为荷兰语。然后我制作了 2 个 Radiobuttons 荷兰语和德语。当我按下荷兰语单选按钮时,它只会更改组框的名称,而其他标签和内容保持不变。
这是我使用的方法和代码。
private void ChangeLanguage(string lang)
{
foreach (Control c in Controls)
{
ComponentResourceManager resources = new ComponentResourceManager(typeof(Form1));
resources.ApplyResources(c, c.Name, new CultureInfo(lang));
}
}
private void DutchRadiobutton_CheckedChanged(object sender, EventArgs e)
{
ChangeLanguage("nl-NL");
}
我希望在单击单选按钮荷兰语时更改整个表单以及其中的每个控件。目前只有组框名称发生变化,但其中的标签和文本框保持相同的语言。
【问题讨论】:
-
您需要递归循环遍历控件,否则您不会将更改应用到 GroupBox(es) 的内部控件。
-
@Odrai 我怎么做那个天使?
标签: c# winforms radio-button