通过方法将文本分配给按钮

时间:2014-10-10 23:19:19

标签: c#

我正在努力制作一个tictactoe游戏并且想知道如何使用我创建的这个方法来改变按钮的文本。

private void Click()
{
    if (player1 == true)
    {
        player1 = false;
        player2 = true;

        this.Text = "X";
    }
    if (player2 == true)
    {
        player1 = true;
        player2 = false;

        this.Text = "O";
    }
} 

private void button1_Click(object sender, EventArgs e)
{
    Click();
}

所以我希望能够更改按钮的文本,我发现这与实际形式有关。只有在具体的情况下,我才能找到任何方法将文本分配给不同的按钮。 Cheeeeers。

2 个答案:

答案 0 :(得分:1)

“这个”是你的表格。您需要将文本分配给button.Text。 由于您正在编写井字游戏,因此可以对所有按钮使用相同的事件:)

 private void button1_Click(object sender, EventArgs e)
 {
     var button = (Button) sender;
     button.Text = "X";
 }

答案 1 :(得分:0)

您可以将button1作为参数添加到您的点击事件中,例如:

private void Click(Control control) {
    if (!string.IsNullOrEmpty(control.Text)) {
        // invalid button clicked (has already x or o)
        return;
    }
    control.Text = player1 ? 'X' : 'O';
    player1 = !player1;
    player2 = !player2;
} 

然后将click事件用作:

private void GeneralButtonHandler(object sender, EventArgs e) 
{
    Click(sender as Control);
}

之后您可以将所有按钮附加到此GeneralButtonHandler

如果你需要更多关于游戏的想法,你可以找到一个javascript实现here