【发布时间】:2014-10-22 18:30:01
【问题描述】:
我有什么:
- 我正在使用计时器元素在表单底部显示当前时间和日期(实时)。
- 我使用两个标签分别显示时间和日期。
我需要什么:
我需要时间和日期标签与其他所有内容一样立即显示。
我的问题:
时间和日期标签的显示延迟两秒。
我的代码:
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'Format time and date labels.
TimeMain.Text = Format(Now, "hh:mm:ss")
DateMain.Text = Format(Now, "dddd, d/MM/yyyy")
End Sub
注意:上面是一个Form_Load sub,它简单地定义了一个默认的接受按钮。上面后面是 5 x 5 短子。
编辑:
尽管 cmets 中已经提供了重现问题的步骤,但我被要求在此重申。此问题中发布的两个代码块之间的唯一区别是,我将标签文本保留为默认设置,以免复制者不得不输入任何内容。
将两个标签和一个计时器拖到一个新表单上并使用以下代码:
Public Class Form1
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'Format time and date labels.
Label1.Text = Format(Now, "hh:mm:ss")
Label2.Text = Format(Now, "dddd, d/MM/yyyy")
End Sub
End Class
对于计时器的属性,Enabled 定义为True,Interval 定义为1000。
【问题讨论】:
-
间隔设置为多少?什么是
Now?你能发布一个最小的样本来重现这个问题吗? -
所以在计时器的第一个计时器滴答声之前,您不会填写标签的文本属性?它的间隔是多少?你不能在没有计时器的情况下创建它们的文本值吗?
-
您的意思是最初需要两秒钟还是总是延迟两秒钟?
-
把你所有的问题都用“我有什么”这个巨大的字体,“我需要什么”格式有点烦人。您可以回答@SriramSakthivel 关于间隔的问题,而不是重新安装巨型字体。要么就是这样,要么你有东西阻塞了 UI 线程。 Windows 不是实时操作系统。
-
@LarsTech 如果我可以选择接受/拒绝其他成员的编辑,那么我当然应该能够毫无责备地行使这项权利。此外,我可以证实其他成员(有些几乎和你一样有声望)慷慨地为我的问题格式鼓掌(见这里:stackoverflow.com/q/23806386/2971649)。 “巨型字体”是本网站的默认标题大小。它在那里被使用。其次,假设我没有回答斯里拉姆的询问是不公平的。他要求提供最少的样本或复制品。再给我 10 分钟的时间来满足他的要求。
标签: vb.net winforms visual-studio timer