visualbasic2012中的按钮单击修饰符



我正在处理一个类的编码问题。一个方面是实现基于图像的计数器(随着每一秒的流逝,图像发生变化,直到它在指定时间终止)。

我几乎完全明白了,除了按下按钮时,倒计时不会重置。我正在想办法添加一个if-then语句,上面写着"如果点击了猜测或新游戏按钮,然后将我的计数器重置为0,否则继续"

这是我的代码:

Private Sub btnGuess_Click(sender As Object, e As EventArgs) Handles btnGuess.Click
Private Sub btnNewGame_Click(sender As Object, e As EventArgs) Handles btnNewGame.Click
Private Sub tmrCountdown_Tick(myObject As Object, ByVal myEventArgs As EventArgs) Handles tmrCountdown.Tick
    Static Counter As Integer = 0
    Counter += 1
    Select Case Counter
        Case 0
            picTimer.Visible = False
        Case 1
            picTimer.Visible = True
            picTimer.Image = pic9.Image
        Case 2
            picTimer.Image = pic8.Image
        Case 3
            picTimer.Image = pic7.Image

解决方案是将计数器移到tmrCountdown_Tick之外,理想情况下使其成为非静态成员。如:

Private Counter as Integer = 0
Private Sub btnGuess_Click(sender As Object, e As EventArgs) Handles btnGuess.Click
    Counter = 0
End Sub
Private Sub btnNewGame_Click(sender As Object, e As EventArgs) Handles btnNewGame.Click
    Counter = 0
End Sub
Private Sub tmrCountdown_Tick(myObject As Object, ByVal myEventArgs As EventArgs) Handles tmrCountdown.Tick
    Counter += 1
    ...
End Sub

这样Counter就可以在表单中的所有子系统和函数中访问。

最新更新