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);

c#缩短按钮重置值

您应该使用数组,或者更好的是,使用通用列表来保存您所有的按钮。

例如:

 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);
    }
}