以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  窗口的计时器偏慢,如何解决?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=138538)

--  作者:wangjh8888
--  发布时间:2019/8/2 22:34:00
--  窗口的计时器偏慢,如何解决?
老师 晚上好
利用窗口的计时器来计算时间长度,发现偏慢(跟windows的右下角时间相比),如何解决?

--  作者:有点蓝
--  发布时间:2019/8/2 22:48:00
--  
这个没有办法解决的,这种计时器是属于主线程的,会受到其它事件的干扰。

如果需要准确的计时需要使用.net的System.Timers.Timer,用法参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=79833&replyID=551946&skin=1

--  作者:wangjh8888
--  发布时间:2019/8/3 16:35:00
--  
老师好,有改善,但是还是慢,差不多4分钟慢1秒,如何再提高计时精度?
--  作者:有点蓝
--  发布时间:2019/8/3 16:51:00
--  
这个没有办法的,就算是电脑的时钟都会有误差。或者每3分钟就根据电脑的时间调整一下

或者试试使用System.Threading.Timer


--  作者:wangjh8888
--  发布时间:2021/8/26 12:31:00
--  我要学习ystem.Timers.Timer

老师 好

看到连接来的以下代码,想学习下,

问问 ,

1.绑定timertick事件 不太理解,这个timertick 是窗口的定时器吗

2.该定时周期范围有什么限制,我想要100毫秒的,实验了一下,不知道为什么好像没能实现

3.我小白,能不能详细讲解一下



以下是代码:

绑定timertick事件

 

全局代码

 

Public Sub myTimer_Elapsed(sender As object, e As System.Timers.ElapsedEventArgs)
output.show(Date.now)
End Sub

 

调用

 

Dim myTimer As new System.Timers.Timer(2000)\'定时周期2秒
addhandler myTimer.Elapsed, addressof myTimer_Elapsed

myTimer.AutoReset = True
myTimer.Enabled = True
vars("mytimer") = myTimer
\'vars("mytimer").Enabled = false


--  作者:有点蓝
--  发布时间:2021/8/26 13:37:00
--  
1、这个事件和窗口没有一毛钱的关系,指的是全局代码定义的事件myTimer_Elapsed,使用下面代码绑定
addhandler myTimer.Elapsed, addressof myTimer_Elapsed
2、Dim myTimer As new System.Timers.Timer(100)\'100毫秒
3、网上搜索学学.net,或者vs开发吧