Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 按钮应每按两次更改文本_Vb.net - Fatal编程技术网

Vb.net 按钮应每按两次更改文本

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时,

我正在尝试使用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 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代码,其余代码实际上来自原始代码。:)