1

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

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

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

这是我用的

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

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

任何建议将不胜感激。

4

2 回答 2

2

这里有两个选项:

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 = ...
}
于 2013-08-02T17:41:27.507 回答
0

如果您不能遍历表单上的所有按钮但需要特定的按钮列表,我使用此代码。

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


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

    }
于 2013-08-02T18:04:24.143 回答