timer倒计时

my202com4 2011-06-06 08:47:57
给个程序小段加注释,timer控件倒计时,要准确计时(timer控件计时不太精确),扫描系统时间那种
...全文
199 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
几罗星人 2011-06-07
  • 打赏
  • 举报
回复
“timer控件计时不太精确”?为什么这样说呢?倒计时其实很简单,看看下面的示例,从100倒数到1:

'首先放入一个timer1控件
'再放入一个Label1控件,她的Caption属性设为100
'他们的名称属性保持不变
'Timer1的Interval属性设为1000,就是每一秒(=1000毫秒)发生一次Timer事件
Const A As Integer = 100

Private Sub Timer1_Timer()'timer控件的timer事件
Static B As Integer'声明静态变量
B = B + 1
If Label1.Caption > 0 Then
Label1.Caption = 100 - B
Else
Timer1.Enabled = False
End if
End Sub

效果不错,不知道你是不是没设置Timer1的Interval属性,自己检查一下吧!!
my202com4 2011-06-07
  • 打赏
  • 举报
回复
timer控件太耗系统资源了,
我再另想方法吧,不过分还是给二位了,一家一半,呵呵,
贝隆 2011-06-06
  • 打赏
  • 举报
回复

Option Explicit
Dim strEndTime As String
Private Sub Form_Load()
tmrP.Interval = 300 '间隔300毫秒执行一次Timer事件
strEndTime = "2011-6-9 0:0:0" '给截至时间赋值
Text1.Text = ""
End Sub
'求的是距离 2011年06月09日0时0分0秒 的倒计时
Private Sub tmrP_Timer()
Dim lngP As Long
Dim strDay As String '剩余时间:日
Dim strHour As String '剩余时间:时
Dim strMin As String '剩余时间:分
Dim strSecond As String '剩余时间:秒

lngP = DateDiff("s", Now, strEndTime) '取得剩余的总时间,单位:秒

strSecond = lngP Mod 60 '计算秒
strMin = (lngP \ 60) Mod 60 '计算分
strHour = (lngP \ 3600) Mod 24 '计算时
strDay = (lngP \ 3600) \ 24 '计算日

'显示剩余时间
Text1.Text = strDay & "天" & strHour & "时" & strMin & "分" & strSecond & "秒"
End Sub

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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