2013-05-17 126 views
0

控制我写在C#应用程序和要求之一是编程本地化UI的文本/工具提示。我正在将XML中的语言环境信息读入一个变量。我需要能够通过名称来识别控件,然后更改文本(按钮)和/或工具提示。到目前为止,我一直无法获得适当的控制权。无法找到名称

作为一个循环的一部分,我曾尝试:

Control c = this.Controls.Find(cont.Name, true).FirstOrDefault() as Control; 

凡cont.Name保持控制的名称。我得到的所有c都是空的。我知道控件确实存在于表单上,我只是无法访问它。

而且,从我迄今所看到的,我不知道我怎么可以改变的ToolTipText我需要,例如道路

c.ToolTipText = cont.ToolTip; 

此外,这一切都发生在用户控件中,我试图访问的所有子控件都在工具条上。

我真的很感激任何帮助。

+2

你确定你没有试图在调用InitializeComponent()之前搜索控件吗? – fabricio

回答

0

很久以前,当我有同样的问题,我解决了在控件列表循环和询问它的名字包含在我的控件名称列表(在你的情况下,从XML文件)。

Control.ControlCollection controls = this.Controls; 

foreach (Control cont1 in controls) 
{ 
    if(contList.Contains(cont1.Name)) 
    { 
      //Your code 
    } 
} 
相关问题