c#缩短按钮重置值
本文关键字:按钮 | 更新日期: 2023-09-27 17:54:41
我刚开始编程意味着我是新人…我使用else if语句制作了一个井字游戏。
下面的代码是代码,将重置某些值在我的游戏,我确信有,但我找不到答案-我如何缩短这段代码?
btn1.Enabled = true;
btn2.Enabled = true;
btn3.Enabled = true;
btn4.Enabled = true;
btn5.Enabled = true;
btn6.Enabled = true;
btn7.Enabled = true;
btn8.Enabled = true;
btn9.Enabled = true;
btn1.Text = "";
btn2.Text = "";
btn3.Text = "";
btn4.Text = "";
btn5.Text = "";
btn6.Text = "";
btn7.Text = "";
btn8.Text = "";
btn9.Text = "";
btn1.BackColor = default(Color);
btn2.BackColor = default(Color);
btn3.BackColor = default(Color);
btn4.BackColor = default(Color);
btn5.BackColor = default(Color);
btn6.BackColor = default(Color);
btn7.BackColor = default(Color);
btn8.BackColor = default(Color);
btn9.BackColor = default(Color);
您应该使用数组,或者更好的是,使用通用列表来保存您所有的按钮。
例如: List<Button> buttonList = new List<Button>();
// Add buttons to list...
buttonList.Add(btn1);
buttonList.Add(btn2);
...
然后,您可以像这样在列表上迭代:
foreach (Button btn in buttonList)
{
btn.Text = "";
btn.BackColor = default(Color);
}
上面的代码将在列表中的所有按钮上运行,并为每个按钮清除文本并设置BackColor。
这应该通过数组完成,而不是btn1,您可以使用btn[],然后您可以使用for循环访问它们:
for (i=0; i<9; i++) {
btn[i].Enabled = true;
btn[i].Text = "";
btn[i].Color = default(Color);
}
和这5行代码包含了上面的所有代码
reset for all button at control
foreach(var item in this.Controls)
{
if (item is Button)
{
item.Enabled = true;
item.Text = "";
item.BackColor = default(Color);
}
}