【问题标题】:VB.NET Timer stops working after it ticks the first timeVB.NET 计时器在第一次计时后停止工作
【发布时间】:2021-02-25 22:34:19
【问题描述】:

我的代码中的计时器在第一次滴答后停止工作,我将它设置为在表单加载时每秒开始滴答:

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,我不确定出了什么问题

【问题讨论】:

标签: vb.net timer


【解决方案1】:

我已经复制了问题中给出的代码,并且运行良好。它每秒都在滴答作响。

我已将您的代码修改为:

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()

如果您仍然有问题,那么您还没有显示其他代码。

【讨论】:

  • 我只是在发布问题之前仔细检查所有内容时忘记添加断点,抱歉浪费您的时间并感谢所有帮助和知识
  • @CrazyCraft316 - 只要您学到了一些东西并且这个问题现在是为了帮助未来的读者,没有人会浪费他们的时间。
  • 嗯,我希望这对未来的人有所帮助:) 作为一个完美主义者,我忘记了这么简单的事情,这让我很恼火
猜你喜欢
  • 2021-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多