IDE:VS 2010,c#.net 4.0,winforms
我有一个Form form1,它有面板p1 p2 p3,分别指定了tooltipText“pan1”,“pan2”,“pan3”。
我知道我们可以使用
在表单中搜索控件Control[] c= this.controls.find("p1", true);
但是有没有办法从toolTip文本中找到控件,
//example Control[] c1 = this.control.findByToolTip("toolTipText",true);
我知道我们可以使用开关盒来映射这个,但有没有更简单的方法..?
答案 0 :(得分:1)
循环遍历所有控件并尝试对每个控件进行类型转换将是一个可怕的解决方案。
此外,您的设计可能存在缺陷。我想不出很多场景,其中通过其内容识别控件是合理的。通常情况相反。
答案 1 :(得分:1)
如果您正在按工具提示查找面板,则表明您的应用程序中存在设计错误的信号......但是这里是如何操作的
var c = this.Controls.OfType<Control>().Where(p => toolTipHCP.GetToolTip(p) == "toolTipText");