是否可以修改 c# 窗口窗体中的控件集合?如何



C# 窗口窗体有 8 个按钮。我想更改每个按钮的文本。这些文本是没有重复的随机数。我知道如何在不重复的情况下生成随机数,但我不想写 8 条指令将每个数字分别分配给每个按钮文本,如下所示:

                   button1.Text = listNumbers[0].ToString();
                   button2.Text = listNumbers[1].ToString();
                                     .
                                     .
                                     .

是否可以修改 c# 窗口窗体中的按钮集合,例如使用循环?如果是,如何编写这些代码及其伪代码?谢谢。

可以使用窗体的控件集合来更改按钮的文本,如下所示。

foreach(var control in this.Controls)
{
    if(control is Button)
    {
        ((Button)control).Text = "New Text";
    }
}

可以将 LINQ 的 OfType<T>Controls 属性一起使用:

foreach (var button in Controls.OfType<Button>()) // will only give you Buttons
{
    button.Text = "some text";
}

最新更新