Vb.net 重置/重新启动计数器值

Vb.net 重置/重新启动计数器值,vb.net,counter,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 试图重置该值。但是,该值会在视觉上重置,但当我再次单击计

我正在使用下面的代码来计数并用计数值更新标签

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

可能很简单,希望你能帮上忙

不要使用静态变量。静态变量的整个点只能在该方法中访问,但在调用之间保留其值。如果希望能够从其他地方重置该变量的值,则需要在其他地方访问该变量,因此需要在所有方法之外声明该变量,即成员变量又名字段

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

如果您计划同时设置计数器和标签的值,我可能会将其拆分为单独的子项来更新值。然后你可以在任何地方打电话给SetHits0

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

找到了答案,很好地解决了问题。 基本上,我使用 点击次数-=Label1.Text Private hits As Integer将其从静态更改为私有。所以我可以在表格中的其他地方访问它

私有子按钮2\u单击发件人作为对象,e作为事件args处理按钮2。单击 点击次数+=1 Label1.Text=hits.tostring0 端接头

Private Sub RESETBUTTON\单击发件人作为对象,e作为事件args处理RESETBUTTON。单击 点击次数-=Label1.Text
End Sub

谢谢,Iv还有很多东西要学,将它改为Integer的私有点击,这样它就不再是静态的了。然后如何使用Label1.text=0更改变量数据,使其为0仍然只有visual将值设置为0,然后继续计数。将该变量移出方法的全部目的是让您可以从其他方法访问它,因此请访问它。在重置标签的地方,也重置变量。这是一个更好的方法,但iv现在仍然可以工作,谢谢大家的帮助!!=]我真的不知道为什么要从点击数中减去标签文本,而不是将点击数设置为0。在再次开始递增计数器之前,也不会更新标签。如果您确实打算保留-=文本,我建议您至少使用CIntLabel1.text,而不是使用隐式转换。