如何在标签中显示正在运行的计时器?

时间:2013-10-21 00:55:53

标签: vb.net

我的问题是如何显示正在运行的计时器,包括从SQL数据库导入的分钟和秒。我已经导入了它,但是如何在标签中显示计时器?

sqlq = "Select Duration from XYZ where ID = 20" 
sda = New SqlDataAdapter(sqlq, conn) 
sda.Fill(ds) 

_timer = ds.Tables(0).Rows(0).Item("Duration") 
Timer1.Interval = _timer * 60000 
Timer1.Enabled = True 
Timer1.Start()

1 个答案:

答案 0 :(得分:1)

每次间隔到期时,Timer1_Tick事件都会触发。 IE,如果ds.Tables(0).Rows(0).Item("Duration") = 2,并且您将间隔设置为_timer * 60000,因为间隔以毫秒为单位,它将每2分钟触发一次。

这并不意味着接下来的2分钟就会运行,这意味着从现在起2分钟后,Timer1_Tick事件将会触发,而2分钟后它将再次触发,依此类推。

好像你试图每秒运行一次计时器,持续2分钟(在这种情况下)。您应该将间隔设置为1000(1秒)并在表单中设置一些变量Private iCountDown as int32。将其设置为您希望它运行的秒数iCountDown = _timer * 60。现在开始计时器Timer1.Start

现在,每次发送tick事件都会触发。在这种情况下,您希望减少循环,以便计数。 iCountDown -= 1并设置标签文字。只需确保当倒计时到达0时您停止计时器If iCountDown <= 0 then Timer1.Stop

请注意,计时器在UI线程上运行,因此如果您的UI线程中没有任何抽水(空闲时间),则Tick甚至不会按预期启动。

希望能帮助您了解计时器发生的事情。