我想在运行时查找标签,这是正确的方法吗?
Control[] control;
Label label;
control = this.Controls.Find(labelToChange, false);
label = (Label)control[0];
我找不到一个返回单个控件的方法,所以我必须将它存储一个集合,然后检索第一个。它总能找到一个项目。
答案 0 :(得分:1)
这是正确的使用方法。
MSDN documentation并不表示它返回集合的原因,但是如果你有一个封装了几个子控件的控件并多次实例化那么你最终会得到一组标签。
所以:
答案 1 :(得分:1)
linq的基本想法:
Label label;
var c = from x in Controls.Find("labelToChange", false)
where x.GetType() == typeof(Label)
select x;
label = (Label)c.FirstOrDefault();