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

Deb*_*ker 5 c# search controls winforms

对于一个学校项目,我们正在创建一个C#应用程序,孩子们可以在其中学习。

我在Windows窗体中制作了一个模板,并希望根据孩子的选择更改占位符,因此它可以变成1x选择,2x选择等。

我给每个标签与开头的名称tafel_noemer_- tafel_noemer_1tafel_noemer_2等等。

现在,我想选择所有这些标签,直到标签10并更改占位符文本。我试过了,this.Name.StartsWith("tafel_noemer_")但无法与foreach一起使用。

有没有更好的方法可以做到这一点?

我的表格

Zoh*_*led 5

您可以使用Linq的where方法:

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