我有一个简单的for循环如下:
for (int i = 0; i > 20; i++)
{
}
现在我有20个标签(label1,label2,label3等等......)
我想做点什么:
for (int i = 0; i > 20; i++)
{
label[i].Text = String.Empty;
}
实现这一目标的最简单方法是什么?
答案 0 :(得分:14)
如果您的标签放在一个容器上,例如Form
,则可以执行以下操作:
foreach(Label l in this.Controls.OfType<Label>())
{
l.Text = string.Empty;
}
相同的任何其他容器,例如Panel
或GroupBox
,只需将this
替换为容器名称(panel1.Controls
等)。
答案 1 :(得分:2)
创建一个数组或标签列表并循环遍历该列表以设置每个标签的属性
List<Label> labels = new List<Label>();
labels.Add(label1);
foreach(Label l in labels)
{
l.Text = String.Empty;
}
答案 2 :(得分:2)
我称你的解决方案是一个设计缺陷,但我会选择这样的东西:
var itemArray = this.Controls.OfType<Label>();
foreach(var item in itemArray)
{
item.Text = string.Empty;
}
答案 3 :(得分:1)
不知道它是否最简单,但它是最短的..
this.Controls.OfType<Label>().ToList().ForEach(lbl => { lbl.Text = String.Empty; });
答案 4 :(得分:0)
也许你可以使用类似
之类的FindControlfor(int i = 0; i < 5; i++)
{
(FindControl("txt" + i.ToString())).Text = String.Emty;
}