我正在使用下面的代码对计数进行计数,并使用计数值更新标签。
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Static hits As Integer
hits += 1
Label1.Text = hits.ToString("n0")
End Sub
在另一个按钮中,我正在使用
Label1.Text = 0
尝试重置该值。但是,该值会在视觉上重置,但是当我再次单击计数器按钮时,它将继续从上次停止的位置开始计数。
我希望能够重置该值并再次从0开始计数。
可能很容易找出答案,希望对您有所帮助。
答案 0 :(得分:1)
不要使用Static
变量。 Static
变量的整个点只能在该方法内访问,但在两次调用之间仍保留其值。如果您希望能够从其他位置重置该变量的值,则需要在其他位置访问该变量的值,因此需要在所有方法外部声明该变量,即成员变量(又称为字段)。
Private hits As Integer
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
hits += 1
Label1.Text = hits.ToString("n0")
End Sub
答案 1 :(得分:0)
如果您打算同时设置计数器和标签的值,我可能会将其拆分为单独的子项以更新值。然后,您可以从任何地方调用SetHits(0)。
Private hits As Integer
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
hits += 1
SetHits(hits)
End Sub
Private Sub SetHits(num As Integer)
hits = num
Label1.Text = hits.ToString("N0")
End Sub
答案 2 :(得分:0)
弄清楚,Well进行了解决。
基本上我使用
hits -= Label1.Text
Private hits As Integer
将其从“静态”更改为“私人”。这样我就可以在表单中的其他位置访问它。
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
hits += 1
Label1.Text = hits.ToString("n0")
End Sub
Private Sub RESETBUTTON_Click(sender As Object, e As EventArgs) Handles RESETBUTTON.Click
hits -= Label1.Text
End Sub