Vb.net 按钮应每按两次更改文本
我正在尝试使用Visual Basic创建一个井字游戏。按下按钮后,按钮应首先转到“O”,然后下一次按下的按钮应为“X”,但它似乎继续放置“O”Vb.net 按钮应每按两次更改文本,vb.net,Vb.net,我正在尝试使用Visual Basic创建一个井字游戏。按下按钮后,按钮应首先转到“O”,然后下一次按下的按钮应为“X”,但它似乎继续放置“O” Dim turn作为布尔值 转弯=真“真=X转弯,假=Y转弯 将b调暗为按钮 b=DirectCast(发送器,按钮) 如果(转身)那么 b、 Text=“O” 其他的 b、 Text=“X” turn=Not turn您需要在方法外部声明turn变量,以便它是类的成员,而不是每次重新创建的局部变量 此外,您应该在每次更改后翻转状态,不仅是在放置X时,
Dim turn作为布尔值
转弯=真“真=X转弯,假=Y转弯
将b调暗为按钮
b=DirectCast(发送器,按钮)
如果(转身)那么
b、 Text=“O”
其他的
b、 Text=“X”
turn=Not turn您需要在方法外部声明turn
变量,以便它是类的成员,而不是每次重新创建的局部变量
此外,您应该在每次更改后翻转状态,不仅是在放置X时,而且在禁用按钮时也是如此
例如:
Dim turn As Boolean = True 'true = X turn, false = Y turn
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim b As Button = DirectCast(sender, Button)
If turn Then
b.Text = "O"
Else
b.Text = "X"
End If
turn = Not turn
b.Enabled = False
End Sub
您需要在方法外部声明turn
变量,以便它是类的成员,而不是每次重新创建的局部变量
此外,您应该在每次更改后翻转状态,不仅是在放置X时,而且在禁用按钮时也是如此
例如:
Dim turn As Boolean = True 'true = X turn, false = Y turn
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim b As Button = DirectCast(sender, Button)
If turn Then
b.Text = "O"
Else
b.Text = "X"
End If
turn = Not turn
b.Enabled = False
End Sub
您需要在方法外部声明turn
变量,以便它是类的成员,而不是每次重新创建的局部变量
此外,您应该在每次更改后翻转状态,不仅是在放置X时,而且在禁用按钮时也是如此
例如:
Dim turn As Boolean = True 'true = X turn, false = Y turn
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim b As Button = DirectCast(sender, Button)
If turn Then
b.Text = "O"
Else
b.Text = "X"
End If
turn = Not turn
b.Enabled = False
End Sub
您需要在方法外部声明turn
变量,以便它是类的成员,而不是每次重新创建的局部变量
此外,您应该在每次更改后翻转状态,不仅是在放置X时,而且在禁用按钮时也是如此
例如:
Dim turn As Boolean = True 'true = X turn, false = Y turn
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim b As Button = DirectCast(sender, Button)
If turn Then
b.Text = "O"
Else
b.Text = "X"
End If
turn = Not turn
b.Enabled = False
End Sub
轮到谁了?在类中还是函数中?听起来它应该是一个类/表单变量,这样就不会在每次按下按钮时都重新创建它。turn在哪里声明?在类中还是函数中?听起来它应该是一个类/表单变量,这样就不会在每次按下按钮时都重新创建它。turn在哪里声明?在类中还是函数中?听起来它应该是一个类/表单变量,这样就不会在每次按下按钮时都重新创建它。turn在哪里声明?在类中还是函数中?听起来它应该是一个类/表单变量,所以不会在每次按下按钮时都重新创建它。我在那里看到了C的痕迹。)或者,如果单击处理程序外部不需要turn
,则可以在其内部声明为Static
变量。@u lotus as Guffa似乎被占用了,我已经删除了C的痕迹。你也可以这么做;)谢谢你的编辑。不过,只有在方法声明中才有C代码,其余代码实际上来自原始代码。:)我在那里看到了一点C的痕迹或者,如果单击处理程序外部不需要turn
,则可以在其内部声明为Static
变量。@u lotus as Guffa似乎被占用了,我已经删除了C的痕迹。你也可以这么做;)谢谢你的编辑。不过,只有在方法声明中才有C代码,其余代码实际上来自原始代码。:)我在那里看到了一点C的痕迹或者,如果单击处理程序外部不需要turn
,则可以在其内部声明为Static
变量。@u lotus as Guffa似乎被占用了,我已经删除了C的痕迹。你也可以这么做;)谢谢你的编辑。不过,只有在方法声明中才有C代码,其余代码实际上来自原始代码。:)我在那里看到了一点C的痕迹或者,如果单击处理程序外部不需要turn
,则可以在其内部声明为Static
变量。@u lotus as Guffa似乎被占用了,我已经删除了C的痕迹。你也可以这么做;)谢谢你的编辑。不过,只有在方法声明中才有C代码,其余代码实际上来自原始代码。:)