递归循环遍历表单上的所有控件
本文关键字:控件 循环 遍历 表单 递归 | 更新日期: 2023-09-27 17:53:40
我正在尝试循环通过我的形式中的所有控件,以允许我的应用程序的语言本地化。
这是我的。
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));
}
}
它不喜欢我试图从父控件派生子控件的方式。
有谁能给我一些建议来完成我的任务吗?确认。不要这样做。查看全球化和本地化。基本上你会使用
- 资源管理器,
- Thread.CurrentThread。CurrentCulture,
- Thread.CurrentThread.CurrentUICulture。
将控件绑定到ResourceManager或在呈现表单时从资源管理器填充值是正确的方法。神奇的事情发生在本地化的ResourceManager .resx中。
http://msdn.microsoft.com/en-us/library/y99d1cd3%28v=vs.80%29.aspx