vb.net中的定时器问题

fjzhh52 2011-11-18 03:41:08
开发环境:vs2008,
开发语言:vb.net
运行平台:LJD-ewin7000,WINCE5.0,.NET3.5版本框架
问题:用定时器做一个固定时长的定时,如10秒,程序运行时,每隔10秒就在listbox1控件上打印出一条当前时间。
如,定时十秒,则在listbox1控件上,每隔10秒显示如下:
当前时间:2011-11-18 11:10:10
当前时间:2011-11-18 11:10:21
当前时间:2011-11-18 11:10:31
当前时间:2011-11-18 11:10:42
当前时间:2011-11-18 11:10:52
当前时间:2011-11-18 11:11:03
当前时间:2011-11-18 11:11:13
程序的定时时间会出现较大的误差,不能较精确的根据定时的时长来执行。!
我们要的是:
当前时间:2011-11-18 11:10:10
当前时间:2011-11-18 11:10:20
当前时间:2011-11-18 11:10:30
当前时间:2011-11-18 11:10:40
当前时间:2011-11-18 11:10:50
当前时间:2011-11-18 11:11:00
当前时间:2011-11-18 11:11:10
或者,如果是定时5分钟的话,是:
当前时间:2011-11-18 11:10:10
当前时间:2011-11-18 11:15:10
当前时间:2011-11-18 11:20:10
当前时间:2011-11-18 11:25:10
当前时间:2011-11-18 11:3010
当前时间:2011-11-18 11:35:10
...全文
317 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hhxzb 2011-11-20
  • 打赏
  • 举报
回复
建议在计时开始前定义一变量,计时器启动后,尽可能地将值在最前端赋给变量,再通过变量给文本框传递值,切勿直接给

文本框给值,例如:

'1:
Private str As String
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
str = Now
TextBox1.Text = str
End Sub

'2:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
TextBox1.Text = Now
End Sub

在应用程序环境比较复杂的情况下,显然第一种写法要比第二种更“靠谱”些,愚见而已,未亲测。。呵呵
hhxzb 2011-11-20
  • 打赏
  • 举报
回复
建议在计时开始前定义一变量,计时器启动后,尽可能地将值在最前端赋给变量,再通过变量给文本框传递值,切勿直接给文本框给值,例如:

'1:
Private str As String
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
str = Now
TextBox1.Text = str
End Sub

'2:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
TextBox1.Text = Now
End Sub

在应用程序环境比较复杂的情况下,显然第一种写法要比第二种更“靠谱”些,愚见而已,未亲测。。呵呵
帮帮你我她 2011-11-19
  • 打赏
  • 举报
回复
2楼说的对,你应该将定时器,间隔设到500MS以内,的任何值均可
苦苦的潜行者 2011-11-18
  • 打赏
  • 举报
回复
很难这么准确的,如果你想准确,就引用外部控件吧.
水猿兵团五哥 2011-11-18
  • 打赏
  • 举报
回复
这样的需求有什么意义?

反正一秒判断一次估计是来不及
yanlongwuhui 2011-11-18
  • 打赏
  • 举报
回复
定时器间隔设置为0.5秒,在事件中判断是否符合显示条件,符合则进行显示

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧