.net net倒计时
我正在尝试在我的应用程序中创建一个倒计时计时器。我已经知道倒计时的时间是4分钟。我有一个.net net倒计时,.net,vb.net,timer,.net,Vb.net,Timer,我正在尝试在我的应用程序中创建一个倒计时计时器。我已经知道倒计时的时间是4分钟。我有一个计时器,它每秒钟都在滴答作响。现在,如何更新我的文本框,使其以HHMMSS格式显示剩余时间 编辑:我遇到的问题是计算剩余时间。我应该用什么?时间戳?为计时器添加事件处理程序,让它计算剩余时间,格式化字符串并更新文本框 要跟踪时间并计算差异,可以使用Environment.TickCount-这是最简单的变体。在开始倒计时时保存时间戳,并在每次调用事件处理程序时获取该时间戳。为计时器添加事件处理程序,让它计算剩
计时器
,它每秒钟都在滴答作响。现在,如何更新我的文本框
,使其以HHMMSS
格式显示剩余时间
编辑:我遇到的问题是计算剩余时间。我应该用什么?时间戳?为计时器添加事件处理程序,让它计算剩余时间,格式化字符串并更新文本框
要跟踪时间并计算差异,可以使用Environment.TickCount-这是最简单的变体。在开始倒计时时保存时间戳,并在每次调用事件处理程序时获取该时间戳。为计时器添加事件处理程序,让它计算剩余时间,格式化字符串并更新文本框
要跟踪时间并计算差异,可以使用Environment.TickCount-这是最简单的变体。在开始倒计时时保存时间戳,并在每次调用事件处理程序时获取它。跟踪时间的最佳方法是使用DateTime.Now记录开始时间。然后,通过减去保存的值,可以随时看到差异
Dim diff = DateTime.Now - savedTime
Dim remaining = TimeSpan.FromMinutes(4) - diff
要获得所需的格式,只需将其作为字符串传递给.ToString函数
Dim readable = remaining.ToString("hh:mm:ss")
跟踪时间的最佳方法是使用DateTime.Now记录开始时间。然后,通过减去保存的值,可以随时看到差异
Dim diff = DateTime.Now - savedTime
Dim remaining = TimeSpan.FromMinutes(4) - diff
要获得所需的格式,只需将其作为字符串传递给.ToString函数
Dim readable = remaining.ToString("hh:mm:ss")
在开始倒计时之前,请使用以下命令记录当前时间
Dim endTime as DateTime = DateTime.Now.Add(TimeSpan.FromMinutes(4))
然后,当您的勾号事件发生时,您可以使用
Dim timeLeft as TimeSpan = endTime.Subtract(DateTime.Now)
您可以根据需要格式化timeLeft,可能使用Jared提到的.ToString(“hh:mm:ss”)
您可以阅读s和s上的文档,了解有关如何使用它们的更多信息。在开始倒计时之前,请使用以下内容记录当前时间
Dim endTime as DateTime = DateTime.Now.Add(TimeSpan.FromMinutes(4))
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Interval = 500
Timer1.Start()
End Sub
Dim stpw As New Stopwatch
Dim CountDownFrom As Integer = 4 * 60 'as seconds
Dim CountDown As New TimeSpan
Private Sub StartCountDown()
CountDown = TimeSpan.FromSeconds(CountDownFrom)
stpw.Stop() : stpw.Reset() : stpw.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If Not stpw.IsRunning Then Exit Sub
Dim TimeRemaining As TimeSpan = CountDown - stpw.Elapsed
Label1.Text = TimeRemaining.Hours.ToString.PadLeft(2, "0"c) & ":" & _
TimeRemaining.Minutes.ToString.PadLeft(2, "0"c) & ":" & _
TimeRemaining.Seconds.ToString.PadLeft(2, "0"c)
If TimeRemaining.TotalMilliseconds <= 0 Then stpw.Stop()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
StartCountDown()
End Sub
然后,当您的勾号事件发生时,您可以使用
Dim timeLeft as TimeSpan = endTime.Subtract(DateTime.Now)
您可以根据需要格式化timeLeft,可能使用Jared提到的.ToString(“hh:mm:ss”)
您可以阅读s和s上的文档以了解有关如何使用它们的详细信息。私有子表单1\u Load(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Load
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Timer1.Interval = 500
Timer1.Start()
End Sub
Dim stpw As New Stopwatch
Dim CountDownFrom As Integer = 4 * 60 'as seconds
Dim CountDown As New TimeSpan
Private Sub StartCountDown()
CountDown = TimeSpan.FromSeconds(CountDownFrom)
stpw.Stop() : stpw.Reset() : stpw.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If Not stpw.IsRunning Then Exit Sub
Dim TimeRemaining As TimeSpan = CountDown - stpw.Elapsed
Label1.Text = TimeRemaining.Hours.ToString.PadLeft(2, "0"c) & ":" & _
TimeRemaining.Minutes.ToString.PadLeft(2, "0"c) & ":" & _
TimeRemaining.Seconds.ToString.PadLeft(2, "0"c)
If TimeRemaining.TotalMilliseconds <= 0 Then stpw.Stop()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
StartCountDown()
End Sub
计时器1.间隔=500
Timer1.Start()
端接头
调暗stpw作为新秒表
Dim倒计时从整数开始=4*60'秒
随着新的时间跨度而变暗倒计时
私有子StartCountDown()
倒计时=时间跨度从秒(倒计时从秒)
stpw.Stop():stpw.Reset():stpw.Start()
端接头
私有子Timer1_Tick(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)处理Timer1.Tick
如果不是stpw.IsRunning,则退出Sub
Dim TIME剩余时间为TimeSpan=倒计时-stpw.已过
Label1.Text=TimeRemaining.Hours.ToString.PadLeft(2,“0”c)和“:”和_
剩余时间.Minutes.ToString.PadLeft(2,“0”c)和“:”和_
剩余时间。秒。ToString.PadLeft(2,“0”c)
如果TimeRemaining.totalmillizesPrivate子表单1_Load(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理MyBase.Load
计时器1.间隔=500
Timer1.Start()
端接头
调暗stpw作为新秒表
Dim倒计时从整数开始=4*60'秒
随着新的时间跨度而变暗倒计时
私有子StartCountDown()
倒计时=时间跨度从秒(倒计时从秒)
stpw.Stop():stpw.Reset():stpw.Start()
端接头
私有子Timer1_Tick(ByVal发送方作为System.Object,ByVal e作为System.EventArgs)处理Timer1.Tick
如果不是stpw.IsRunning,则退出Sub
Dim TIME剩余时间为TimeSpan=倒计时-stpw.已过
Label1.Text=TimeRemaining.Hours.ToString.PadLeft(2,“0”c)和“:”和_
剩余时间.Minutes.ToString.PadLeft(2,“0”c)和“:”和_
剩余时间。秒。ToString.PadLeft(2,“0”c)
如果TimeRemaining.total毫秒