c#(winform)怎么修改多个控件的一个共有属性?

来源:百度知道 编辑:UC知道 时间:2024/06/25 03:41:49
窗体上有50个label控件,他们的命名是按照顺序来的,比如:Label1,Label2,Label3……依次,我想在一个按钮事件中设置他们所有的Enabled属性,是不是只有一个一个的来写代码?有没有好的办法?

//遍历控件
foreach (Control cl in this.Controls)
{
//如果是Label
if (cl is Label)
{
Label lab = cl as Label;
lab.Enabled = false;//在这里设置
}
}

你不如把每个tag值设置的稍微有规律一点
名字有规律,只能去反射,效率恐怕很低

将所有需要批量操作的对象用一个List<>装起来,List<Label> lib = new List<Label>();
在初始化的时候,lib.Add(Label1);lib.Add(Label2);...
在按钮事件中就遍历这个List
foreach(Label lbl in lib)
{
lbl.Enabled = false;
}

如果不仅仅是label,也可以用List<Control> lic = new List<Control>();