重置/重启计数器值

时间:2018-12-14 01:49:53

标签: vb.net counter

我正在使用下面的代码对计数进行计数,并使用计数值更新标签。

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开始计数。

可能很容易找出答案,希望对您有所帮助。

3 个答案:

答案 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