VB.NET 计时器在第一次计时后停止工作
VB.NET Timer stops working after it ticks the first time
我的代码中的计时器在第一次滴答后停止工作,我将其设置为在加载表单时每秒开始滴答:
Private Sub FormIdleTimeWaster_Load(sender As Object, e As EventArgs) Handles MyBase.Load
timerCPS.Interval = 1000
timerCPS.Start()
End Sub
但在第一个滴答声之后,它停止工作:
Private Sub TimerCPS_Tick(sender As Object, e As EventArgs) Handles timerCPS.Tick
lblCPS.Text = CStr(CPS)
lblTotalHW.Text = CStr(CPS + HWTotal)
End Sub
引用 timerCPS
的所有其他代码是
Me.timerCPS = New System.Windows.Forms.Timer(Me.components)
Friend WithEvents timerCPS As Timer
我的代码中没有其他地方引用 timerCPS
,我不确定哪里出了问题
我已经复制了您在问题中给出的代码,并且运行良好。它每秒都在滴答作响。
我已将您的代码修改为:
Public Class FormIdleTimeWaster
Private CPS As Integer = 1
Private Sub timerCPS_Tick(sender As Object, e As EventArgs) Handles timerCPS.Tick
CPS += 1
lblCPS.Text = CStr(CPS)
End Sub
Private Sub FormIdleTimeWaster_Load(sender As Object, e As EventArgs) Handles MyBase.Load
timerCPS.Interval = 1000
timerCPS.Start()
End Sub
End Class
我可以清楚地看到标签中的值每刻增加一个。
timerCPS_Tick
不需要调用timerCPS.Start()
。
如果您仍然有问题,那么还有一些您没有显示的其他代码。
我的代码中的计时器在第一次滴答后停止工作,我将其设置为在加载表单时每秒开始滴答:
Private Sub FormIdleTimeWaster_Load(sender As Object, e As EventArgs) Handles MyBase.Load
timerCPS.Interval = 1000
timerCPS.Start()
End Sub
但在第一个滴答声之后,它停止工作:
Private Sub TimerCPS_Tick(sender As Object, e As EventArgs) Handles timerCPS.Tick
lblCPS.Text = CStr(CPS)
lblTotalHW.Text = CStr(CPS + HWTotal)
End Sub
引用 timerCPS
的所有其他代码是
Me.timerCPS = New System.Windows.Forms.Timer(Me.components)
Friend WithEvents timerCPS As Timer
我的代码中没有其他地方引用 timerCPS
,我不确定哪里出了问题
我已经复制了您在问题中给出的代码,并且运行良好。它每秒都在滴答作响。
我已将您的代码修改为:
Public Class FormIdleTimeWaster
Private CPS As Integer = 1
Private Sub timerCPS_Tick(sender As Object, e As EventArgs) Handles timerCPS.Tick
CPS += 1
lblCPS.Text = CStr(CPS)
End Sub
Private Sub FormIdleTimeWaster_Load(sender As Object, e As EventArgs) Handles MyBase.Load
timerCPS.Interval = 1000
timerCPS.Start()
End Sub
End Class
我可以清楚地看到标签中的值每刻增加一个。
timerCPS_Tick
不需要调用timerCPS.Start()
。
如果您仍然有问题,那么还有一些您没有显示的其他代码。