关于VB timer 控件延时做倒计时程序 10

程序如下:DimiAsIntegerDimT1AsIntegerDimT2AsIntegerDimnAsInteger--------------------------... 程序如下:
Dim i As Integer
Dim T1 As Integer
Dim T2 As Integer
Dim n As Integer
---------------------------------
'延时程序1,做倒计时,并显示在名为showtimer的text文本框内
Private Sub delay1_Timer() ‘timer.interval 属性设置为1000
showT.Caption = Ti
delay.Enabled = True
Do While (n > 0)
n = n - 1
showtime.Text = Str$(n)
Loop
delay.Enabled = False
End Sub
---------------------------------
'备用延时程序2,做倒计时,并显示在名为showtimer的text文本框内 此程序备用
Private Sub delay2_Timer() ‘timer.interval 属性设置为1000

showT.Caption = Ti
delay.Enabled = True
if n >= 1 then
n = n - 1
showtime.Text = Str$(n) 'showtime文本框内显示倒计时的数字
else
n = 0
delay.Enabled = False
end if
End Sub
---------------------------------
'设置T1、T2两个时间段,boxt1,boxt2为设置时间的两个文本框
Private Sub settime_Click()
T1 = boxt1.Text 将设置的数值分别赋给相应的Ti(i=1 to 2)
T2 = boxt2.Text
End Sub
----------------------------------
'将T1、T2分别赋给N,并调用延时程序delay_Timer
Private Sub start_Click()
n = T1
Call delay_Timer

n = T2
Call delay_Timer
End Sub

如上,运行程序,如果用delay1延时程序,showtime的文本框内看不到倒计时数值,直接会显示0 。如果用delay2延时程序,showtime文本框只能看到T2做倒计时数值显示,T1时间段并不执行减数操作,直接进入T2时间段延时程序。
求高手帮忙调试。实现T1、T2两个时间段都可以进行倒计时延时。并可以再两个时间段中间插入事件(比如开关电源灯操作)
展开
 我来答
蔡瑀
2012-03-30 · TA获得超过231个赞
知道小有建树答主
回答量:424
采纳率:0%
帮助的人:332万
展开全部
Public Declare Function GetTickCount Lib "kernel32" () As Long
Public Function Wait(Optional ByVal Times = 0)
Wait = GetTickCount + Times
Do
DoEvents
If GetTickCount >= Wait Then Exit Function
Loop
End Function
'以上保存到模块中

'以下直接复制到窗体中
Dim Enable As Boolean
Private Sub Command1_Click()
If Command1.Caption = "开始" Then Command1.Caption = "停止": Enable = True Else Command1.Caption = "开始": Enable = False
End Sub
Private Sub Form_Load()
Show
Enable = False
Command1.Caption = "开始"
x = 11
Do While x <> 0
DoEvents
If Enable = True Then x = x - 1: Print x: Wait 1000
Loop
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub

'只是个例子,具体的自己研究吧
天一肚皮天天8425
2012-03-30 · 超过12用户采纳过TA的回答
知道答主
回答量:154
采纳率:0%
帮助的人:58.3万
展开全部
我写了一个VB界面软件,延时程序不知为何直走一次。无论设置多少秒,直接用这个函数,然后把所有Call delay_Timer都改成Call Delay(num) Public Sub,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式