多个按钮点击顺序(C#)

时间:2016-04-14 11:23:06

标签: c# winforms

在我的项目中,我有一个像棋盘一样的按钮网格(8x8; 64个按钮)。 当我首先点击一个按钮时,我想将其设置为绿色(并禁用)并将其文本复制到名为“绿色”的文本框中。当我在此之后单击另一个按钮时,我想将其设置为红色(并禁用)并将其文本复制到名为“Red”的TextBox。 我该怎么办? (按顺序(第一个和最后一个)并在一个处理程序中)。

请查看给定的图片。考虑我先点击E2,它变为绿色并禁用。之后我点击F2,它变为红色并禁用。

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以将以下事件注册到所有按钮:

private int buttonClickCount; //set to 0 in constructor
        private void button1_Click(object sender, EventArgs e)
        {
            buttonClickCount++; //add 1
            switch (buttonClickCount)
            {
                case 1:
                    this.Red.Text = (sender as Button).Text;
                    (sender as Button).BackColor = Color.Red;
                    break;
                case 2:
                    this.Green.Text = (sender as Button).Text;
                    (sender as Button).BackColor = Color.Green;
                    break;
                //add other cases here
                default:
                    buttonClickCount--; //add some logic if something unexpected happens
                    break;
            }
        }