获取名称以特定字符串开头的所有控件

时间:2015-04-26 12:56:52

标签: c# winforms search controls

对于学校项目,我们正在创建一个儿童可以学习的C#应用​​程序。

我在windows窗体中创建了一个模板,想要用子选项更改占位符,因此它可以成为1x选择,2x选择等。

我为每个标签指定了一个以tafel_noemer_ - tafel_noemer_1tafel_noemer_2等开头的名称。

现在我想选择标签10之前的所有标签并更改占位符文本。我试过this.Name.StartsWith("tafel_noemer_"),但无法与foreach合作。

有没有更好的方法来实现这一目标?

my Form

1 个答案:

答案 0 :(得分:5)

你可以使用Linq的方法:

foreach (Label l in this.Controls.OfType<Label>().Where(l => l.Name.StartsWith("tafel_noemer_")))
{
    l.Text = "bla bla";
}