日期:2014-05-17  浏览次数:21109 次

关于button的求助
在一个窗体中有好几个button,每点击一个button就用button.enabled = false使它变灰,另外还有一个恢复的button,当点击这个button时,所有变灰的button都会恢复到可以点击的状态,求一段代码。


有没有不是一下形式的代码啊
private void button_Click(object sender, EventArgs e)
{
  button1.enabled =true;
  button2.enabled =true;
  button3.enabled =true;
  button4.enabled =true;
  …………
}

加入有很多button的话,上边的方法就太麻烦了,希望高手指点啊。

------解决方案--------------------
for (int i = 1; i <= 4; i++)
    (this.Controls["button" + i.ToString()] as Button).Enabled = true;
------解决方案--------------------
全部按钮都激活还有简单的写法:
Controls.OfType<Button>().ToList().ForEach(x => x.Enabled = true);
------解决方案--------------------
Controls.OfType<Button>().Where(x => x.Name != (sender as Button).Name).ToList().ForEach(x => x.Enabled = false);
这段代码确保当前按钮不被禁用。