关于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两个时间段都可以进行倒计时延时。并可以再两个时间段中间插入事件(比如开关电源灯操作) 展开
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两个时间段都可以进行倒计时延时。并可以再两个时间段中间插入事件(比如开关电源灯操作) 展开
展开全部
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
'只是个例子,具体的自己研究吧
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
'只是个例子,具体的自己研究吧
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询