我正在尝试遍历表单中的所有控件,以允许我的应用程序进行语言本地化。
这就是我所拥有的。
private void ChangeLanguage(string lang, ControlCollection controls)
{
foreach (Control c in controls)
{
ChangeLanguage(lang, c.Controls);
ComponentResourceManager resources = new ComponentResourceManager(typeof(Form1));
resources.ApplyResources(c, c.Name, new CultureInfo(lang));
}
}
它不喜欢我如何尝试从父级派生子控件。
有没有人对如何完成任务有任何建议?
答案 0 :(得分:0)
确认。不要这样做。查看全球化和本地化。 基本上你会用
在表单呈现时,将控件绑定到ResourceManager或从资源管理器填充值是正确的方法。魔术发生在本地化的ResourceManager .resx中。
http://msdn.microsoft.com/en-us/library/y99d1cd3%28v=vs.80%29.aspx