0

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

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

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

其中 cont.Name 包含控件的名称。我为 c 得到的只是一个空值。我知道该控件确实存在于表单上,但我无法访问它。

另外,从我目前看到的情况来看,我不确定如何以我需要的方式更改 ToolTipText,例如

c.ToolTipText = cont.ToolTip;

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

我真的很感激这方面的任何帮助。

4

1 回答 1

0

前段时间,当我遇到同样的问题时,我通过在控件列表中循环并询问其名称是否包含在我的控件名称列表中来解决(在您的情况下,来自您的 XML 文件)。

Control.ControlCollection controls = this.Controls;

foreach (Control cont1 in controls)
{
     if(contList.Contains(cont1.Name))
     {
           //Your code
     }
}
于 2013-05-17T18:09:10.867 回答