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

Get all controls with names that start with specific string

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

我做了一个windows形式的模板,想把占位符改成child的选择,这样就可以变成1x选择,2x选择等等

我给每个标签取了一个以 tafel_noemer_ 开头的名称 - tafel_noemer_1tafel_noemer_2

现在我想 select 所有这些标签直到标签 10 并更改占位符文本。我试过 this.Name.StartsWith("tafel_noemer_") 但无法让它与 foreach 一起工作。

有没有更好的方法来完成这个?

您可以使用 Linq 的 where 方法:

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