Сброс / перезапуск значения счетчика - PullRequest
0 голосов
/ 14 декабря 2018

Я использую приведенный ниже код для подсчета и обновления метки со значением счетчика.

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 голосов
/ 14 декабря 2018

Я бы, вероятно, разбил его на отдельную подпрограмму для обновления значения, если вы планируете установить значение счетчика и метки одновременно.Затем вы можете вызвать 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
0 голосов
/ 14 декабря 2018

Разобрался, ну обошелся.По сути, я вычитал значение, используя hits -= Label1.Text
Private hits As Integer
Изменил его со статического на частное.Так что я могу получить к нему доступ в другом месте в моей форме.

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click<br> hits += 1 Label1.Text = hits.ToString("n0") End Sub

Private Sub RESETBUTTON_Click(sender As Object, e As EventArgs) Handles RESETBUTTON.Click<br> hits -= Label1.Text End Sub

0 голосов
/ 14 декабря 2018

Не используйте переменную Static.Вся суть переменной Static является доступной только внутри этого метода, но она сохраняет свое значение между вызовами.Если вы хотите иметь возможность сбрасывать значение этой переменной из другого места, тогда она должна быть доступна в другом месте, поэтому она должна быть объявлена ​​вне всех методов, т.е. переменная-член AKA a field.

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
...