如何从工具提示中查找控件

时间:2014-11-19 10:19:09

标签: c# winforms

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);  

我知道我们可以使用开关盒来映射这个,但有没有更简单的方法..?

2 个答案:

答案 0 :(得分:1)

  1. 创建所有工具提示控件的集合。
  2. 在此系列中搜索。
  3. 循环遍历所有控件并尝试对每个控件进行类型转换将是一个可怕的解决方案。

    此外,您的设计可能存在缺陷。我想不出很多场景,其中通过其内容识别控件是合理的。通常情况相反。

答案 1 :(得分:1)

如果您正在按工具提示查找面板,则表明您的应用程序中存在设计错误的信号......但是这里是如何操作的

  var c = this.Controls.OfType<Control>().Where(p => toolTipHCP.GetToolTip(p) == "toolTipText");