Winforms 在运行时查找控件的正确方法
我想在运行时查找标签,这是正确的方法吗Winforms 在运行时查找控件的正确方法,winforms,Winforms,我想在运行时查找标签,这是正确的方法吗 Control[] control; Label label; control = this.Controls.Find(labelToChange, false); label = (Label)control[0]; 我找不到一个返回单个控件的方法,所以我必须将其存储为一个集合,然后检索第一个。它将始终找到单个项目。这是正确的使用方法 没有指明它返回集合的原因,但如果您有一个封装了多个子控件并多次实例化的控件,则最终将得到一个标签集合 因此: 如果
Control[] control;
Label label;
control = this.Controls.Find(labelToChange, false);
label = (Label)control[0];
我找不到一个返回单个控件的方法,所以我必须将其存储为一个集合,然后检索第一个。它将始终找到单个项目。这是正确的使用方法 没有指明它返回集合的原因,但如果您有一个封装了多个子控件并多次实例化的控件,则最终将得到一个标签集合 因此:
Label label;
var c = from x in Controls.Find("labelToChange", false)
where x.GetType() == typeof(Label)
select x;
label = (Label)c.FirstOrDefault();
至少他们提供了一种通过所有子控件自动迭代的简单方法。Asp.net没有这个。谢谢,但我从未使用过Linq