中易网

VB 关于timer控件的问题(时间不对)

答案:3  悬赏:20  
解决时间 2021-02-14 09:29
VB 关于timer控件的问题(时间不对)
最佳答案
使用 Timer 控件
Timer 控件响应时间的流逝。它们独立于用户,编程后可用来在一定的时间间隔执行操作。此控件的一个一般用处是检查系统时钟,判断是否该执行某项任务。对于其它后台处理, Timer 控件也非常有用。
如果应用程序或其它应用程序正在进行对系统要求很高的操作— 例如长循环、高强度的计算或者正在访问驱动器、网络或端口— 则应用程序定时器事件的间隔可能比 Interval 属性指定的间隔长。
间隔的取值可在 0 到 64,767 之间(包括这两个数值),这意味着即使是最长的间隔也不比一分钟长多少(大约 64.8 秒)。
间隔并不一定十分准确。要保证间隔准确,应在需要时才让定时器检查系统时钟,而不在内部追踪积聚的时间。
系统每秒生成 18 个时钟信号— 所以即使用毫秒衡量 Interval 属性,间隔实际的精确度不会超过 18 分之一秒。

使用API函数精度在毫秒级:
Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()
Label1.Caption = Time$
Sleep (6000) '精度在毫秒
Text1 = "123"
Label2.Caption = Time$
End Sub
全部回答

尝试这样做:

private sub timer1_tick(byval sender as system.object, byval e as system.eventargs) handles timer1.tick

 

  if (labeltime.text = format(now, "hh:mm:ss")) then

  ………………

  end if

 

  labeltime.text = format(now, "hh:mm:ss")

 

end sub

 

然后把timer1的interval设置成1000(1秒一次检测)

注意,检测timer不一定非常准确,总是会有一定误差。因为if自身也需要判断

没问题的。timer控件记时不精确,特别是interval很小的时候。可以考虑用win api里面的函数来记时,如果有需要的话可以直接上网下一个改进的控件。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
公共营养师一般要学些什么内容
恒盛兴超市我想知道这个在什么地方
新老娘舅求助电话
赵二良宏利来肉菜店地址在什么地方,想过去办
联想电脑出厂是2个盘,后来分区成了4个盘,一键
爱尚跆拳道的四百字作文
神仙道剑灵命格用什么才厉害?
连两天吃了羊腰子,啥感觉都没有
小的时候看了一部电影,只记得有一个人掉进了
速达5000如何录入出纳初始数据
请问我是1983年五行属水,买了10楼,怎么化解
一个老男人同时交几个女朋友会有什么报应
ZHO共享纸巾免费领的纸巾质量有保障吗?
沃尔沃为什么取消海贝灰
如今和药店老板谈业务很难,不是贵,就说有,
推荐资讯
有人知道沈阳威尼视觉新派婚纱摄影的拍摄技术
水族馆有卖鱼卵的吗?
泰康人寿的乐安康和E享健康,哪个好?20W保额
瑞吉印花有限公司在哪里啊,我有事要去这个地
富财小卖部这个地址在什么地方,我要处理点事
dnf、DNF、地下城与勇士、、、收号、、、收号
怎样在word里的文档中生成目录
华生酒店我想知道这个在什么地方
爱如果你跟闺密出去你比她受欢迎点她就不高兴
世界通国际科技有限公司
ppr管能用在120度的蒸汽管道吗?
我的雕刻机是方轨的,X轴下面的两个滑块卡住
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?