我正在用C#编写应用程序,其中一个要求是以编程方式本地化UI的文本/工具提示。我正在阅读从XML到变量的语言环境信息。我需要能够通过名称来识别控件,然后更改文本(按钮)和/或工具提示。到目前为止,我甚至无法获得适当的控制权。
作为循环的一部分,我尝试过:
Control c = this.Controls.Find(cont.Name, true).FirstOrDefault() as Control;
其中cont.Name包含控件的名称。我得到的所有c都是空的。我知道控件确实存在于窗体上,我只是无法访问它。
另外,从目前为止我所看到的情况来看,我不知道如何以我需要的方式更改ToolTipText,例如
c.ToolTipText = cont.ToolTip;
此外,这一切都发生在用户控件中,我尝试访问的所有子控件都在工具条上。
我真的很感激任何帮助。
答案 0 :(得分:0)
时间以前,当我遇到同样的问题时,我通过在Controls列表中循环并询问它的名称是否包含在我的控件名称列表中(在您的情况下,从您的XML文件中)来解决。
Control.ControlCollection controls = this.Controls;
foreach (Control cont1 in controls)
{
if(contList.Contains(cont1.Name))
{
//Your code
}
}