我需要在大量的控件中更改一堆属性。我有问题,让它工作。我的方向是对的吗?
foreach(var c in this.Controls.OfType<Label>())
{
c.Text = "test";
}
发生的情况是var c只是创建了一个新对象,而不是编辑现有的对象。我怎样才能访问真正的控件?
试试下面的方法。
foreach(var c in this.Controls)
{
var label = c as Label;
if(label != null) label.Text = "test";
}
你可以试试这个
List<Control> controls = Controls.OfType<Label>().Cast<Control>().ToList();
foreach (Control m in controls)
{
m.Text = "test";
}