通过运行时为“多个控件”设置“属性”

本文关键字:多个控件 设置 属性 控件 运行时 | 更新日期: 2023-09-27 18:25:55

我有一个包含大约25个按钮的表单。我想根据用户输入为"多个"按钮设置相同的属性。我想更改的属性是,

  • 按钮文本
  • 按钮前景色
  • 按钮背面颜色
  • 按钮大小

我已经能够使用代码做到这一点,但代码很长。我想知道是否有一种方法可以循环来改变所有这些。

这就是我使用的

    button1.Text = btntext;
    button1.ForeColor = btnforecolor;
    button1.BackColor = btnbackcolor;
    button1.Size = new Size(btnwidth, btnheight);

我不得不为25按钮这样做,我想知道是否有更好的方法可以用更少的代码做到这一点??。。

任何建议都将不胜感激。

通过运行时为“多个控件”设置“属性”

这里有两个选项:

1) 创建按钮和循环列表:

for (int i = 0; i < 25; i++){
    Button btn = new Button();
    btn.Text = ...
    btn.Location = new Point(10 + (i%5)*100, (i/5)*30);
    btn.Click += new EventHandler(btn_Click);              // TODO: Implement btn_Click event
    this.Controls.Add(btn);
}

2) 循环浏览现有控件:

foreach (Control c in this.Controls) {
    Button btn = c as Button;
    if (btn == null) continue;
    btn.Text = ...
}

如果你不能遍历表单上的所有按钮,但需要一个特定的按钮列表,我会使用这段代码。

List<Button> ListOfButtons = new List<Button>
    {
          this.Button1,
          this.Button2,
    }

foreach (Button myButton in ListOfButtons)
    {
           //Do your assigments to myButton
    }