循环遍历C#中的标签

Vex*_*rei 1 c# forms label winforms

我有九个标签与名称"lbl101","lbl102"...

我想做这个:

for (int i = 0; i < 9; i++)
{
    sting name = "lbl10" + i;
    name.BackColor = Color.Red;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Gra*_*ICA 9

您可以将控件添加到集合中,然后循环播放.

var labels = new List<Label> { lbl101, lbl102, lbl103 };

foreach (var label in labels)  
{  
    label.BackColor = Color.Red;  
}
Run Code Online (Sandbox Code Playgroud)

或者,如果你只是想每一个LabelForm以"lbl10"开始,你可以使用LINQ查询的控件的集合:

var labels = this.Controls.OfType<Label>()
                          .Where(c => c.Name.StartsWith("lbl10"))
                          .ToList();
Run Code Online (Sandbox Code Playgroud)