无法按名称找到控件
本文关键字:控件 | 更新日期: 2023-09-27 18:14:03
我正在用c#编写一个应用程序,其中一个要求是通过编程方式本地化UI的文本/工具提示。我正在从XML读取区域设置信息到一个变量。我需要能够通过其名称识别控件,然后更改文本(按钮)和/或工具提示。到目前为止,我甚至无法抓住适当的控件。
作为循环的一部分,我尝试过:
Control c = this.Controls.Find(cont.Name, true).FirstOrDefault() as Control;
其中cont.Name为控件的名称。我得到的c都是零。我知道控件确实存在于表单上,我只是无法访问它。
另外,从我目前所看到的,我不确定如何改变ToolTipText我需要的方式,例如
c.ToolTipText = cont.ToolTip;
同样,这都发生在用户控件中,我试图访问的所有子控件都在工具条上。
我非常感谢你的帮助。
时间以前,当我遇到同样的问题时,我通过在控件列表中循环并询问其名称是否包含在我的控件名称列表中(在您的情况下,从您的XML文件)来解决。
Control.ControlCollection controls = this.Controls;
foreach (Control cont1 in controls)
{
if(contList.Contains(cont1.Name))
{
//Your code
}
}