【发布时间】:2014-01-04 13:50:02
【问题描述】:
我正在尝试制作一个从特定时间开始运行的时钟 - 例如用户将时间设置为 17.35 并从那里运行。最简单的方法是什么?我尝试使用 Timeserial 设置时间,但不知道如何添加时间,所以它没有让我到任何地方。
想法?
edit:该程序背后的想法是向用户展示一个已加速的普通数字时钟。
【问题讨论】:
我正在尝试制作一个从特定时间开始运行的时钟 - 例如用户将时间设置为 17.35 并从那里运行。最简单的方法是什么?我尝试使用 Timeserial 设置时间,但不知道如何添加时间,所以它没有让我到任何地方。
想法?
edit:该程序背后的想法是向用户展示一个已加速的普通数字时钟。
【问题讨论】:
在表单中添加标签和计时器组件并设置开始日期和时间(日期将不可见)。因此,如果您设置17:35:00,时间将从那一刻开始,并像时钟一样每秒更新一次。
Public Class Form1
Dim startTime As DateTime
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
startTime = New DateTime(2014, 1, 1, 17, 35, 0) 'setting time at 17:35:00
Label1.Text = startTime.ToString("HH:mm:ss")
Timer1.Interval = 1000 '1 tick every second
Timer1.Start()
End Sub
Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
startTime = startTime.AddSeconds(1)
Label1.Text = startTime.ToString("HH:mm:ss")
End Sub
End Class
【讨论】:
创建一个带有计时器的表单。将计时器设置为 1000 毫秒并启用它。 暗淡三个变量小时,分钟,秒。在计时器事件上,增加秒数。当 secs = 60 时,设置 secs = 0 并增加 mins;同上分钟到小时,然后以您选择的格式显示小时:分钟:秒。添加一个按钮,允许用户输入小时、分钟、秒的起始值。 根据您所说的“加快”的含义,如果您希望计时器运行得更快,而不是提前当地时间,则可以减少计时器的延迟。
【讨论】: