vb中怎么用timer控件设置一个等待时间

1、程序很简单,每输出一个数后等2分钟然后再输出下一个数。下面我用timer控件编的程序好像interval属性就没有起作用了。为什么?我想等待时间直接设置interval属性来实现,不要程序。怎么才能做到呢?
2、for循环语句中,当循环的次数较多时,此时不能对vb程序进行任何操作,否则程序变为未响应状态,窗体中的数据不再变化,但存储文件中在继续存数据,即程序仍然在运行。不知道为什么。
希望有大侠帮忙!!

Private Sub Command1_Click()
Dim k As Long
For k = 0 To 2000
Picture1.Print k
call timer1.timer
Next i
End Sub

Private Sub Timer1_Timer()
Dim T1 As Double
Dim T2 As Double
T1 = Timer
7020 T2 = Timer - T1
7030 If T2 > 1 Then GoTo 7060
7035 GoTo 7020
7060 End Sub
谢谢楼上的热心的解答,第一个问题已经解决。第二个问题我觉得不是print的问题。
当把print去掉后,只留下call timer1.timer,这个for语句也会出现程序未响应的情况。

vb中的循环语句是不是有这种类似的缺陷?

以下程序利用Timer,使得程序等待1秒(1000毫秒)后继续执行

Option Explicit

Private Sub Command1_Click()
    Cls                     '清屏
    Timer1.Interval = 1000  '等待1000毫秒(1秒)
    Timer1.Enabled = True   '启动定时器
    Do While Timer1.Enabled '循环等待,直到定时器Timer1停止
        DoEvents            '等待期间防止窗体“凝滞”
        Print "等待"        '提示
    Loop
    Cls                     '清屏
    Print "继续执行"        '提示:等待结束
End Sub

Private Sub Timer1_Timer()
    '定时到!停止定时器
    Timer1.Enabled = False  
End Sub

温馨提示:内容为网友见解,仅供参考
第1个回答  2007-10-15
1.你的动作直接写到timer的代码中呀..在FORM LOAD事件中,指定好timer的interval值,并且让timer的Enabled为TRUE的

2.FOR的过程,上次也有人问了的..在FOR中, 窗体不重绘的,只有FOR完了,才一次显示窗体..所以在FOR 中print,当时是没有效果的, 只有当FOR 完时,才打印所有的

你想程序启动就开始输入数字.每2分钟输出一个数..代码应该是
Dim i%

Private Sub Form_Load()
Timer1.Interval = 120000
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
Print i
i = i + 1
End Sub本回答被提问者采纳
第2个回答  2007-10-19
VB的时间不太准确,你要有思想准备。

vb中怎么用timer控件设置一个等待时间
Option ExplicitPrivate Sub Command1_Click() Cls '清屏 Timer1.Interval = 1000 '等待1000毫秒(1秒) Timer1.Enabled = True '启动定时器 Do While Timer1.Enabled '循环等待,直到定时器Timer1停止 DoEvents '等待期间防止窗体“凝滞” Print "等待" '提示 L...

vb中“timer”怎么用?
打开比方,timer如同一个循环语句,它的循环变量是时间,即每隔一段时间,就执行一次timer中的语句。例如:1、在窗体上添加一个timer控件,默认名称为Timer1。2、将Timer1的Interval属性设置为1000,即每隔1000毫秒(1秒)触发一次。3、在Timer1的Timer()事件中编写如下代码 Private Sub Timer1_Timer(...

VB等待一定时间怎么弄?
用TIMER控件。1个控件就可以达到你说的效果,Option ExplicitDim k As Integer Private Sub Command1_Click()Timer1.Enabled = False End Sub Private Sub Timer1_Timer()Randomize k = Int(Rnd() * 6 + 1)Label1.Caption = k End Sub ...

VB时间控件(TIMER)如何使用
timer的Interval属性控制设置每次运行事件的间隔,单位为毫秒。timer默认事件,也就是双击timer后生成的默认时间,就是用来执行的代码。这里写你要写的功能。里面可以进行判断。

VB中实现 “等待”功能
将你的想执行的程序分割成2个过程,在执行前过程后启动TIMER:Timer1.Enabled = True 将判断放TIMER控件的事件内,符合条件后,执行后过程,并使Timer1.Enabled = False

VB的延时1秒命令怎么写,在线给分
VB提倡的是用定时器控件(Timer)的方法。首先在窗体放入一个Timer1和Command1,然后输入以下代码:Private Sub Command1_Click()Timer1.Interval = 1000Timer1.Enabled = TrueEnd SubPrivate Sub Form_Load()Timer1.Enabled = FalseEnd SubPrivate Sub Timer1_Timer()MsgBox "这个对话框是点击按钮1秒...

VB中的timer控件的interval属性怎么设置是一个小时
最大的秒数也不够的,但可以这样:设置全局变量:dim js as inter load时:js =24*60*10 '得到24小时的分钟的10倍 timer1.interval = 6000 '6秒计数一次 在timer1事件中:js = js -1 '每6秒减一,如果为0,就一天了 if js = 0 then '执行一天一次的命令 js =24*60*10 end if ...

VB 如何实现一个延时随机时间?
Private Sub WT(delay2 As Single) '延时 On Error Resume Next Dim tm1 As Single, tm2 As Single tm1 = Timer Do tm2 = Timer If tm2 < tm1 Then tm2 = tm2 + 86400 If tm2 - tm1 > delay2 Then Exit Do Sleep 1 DoEvents Loop End Sub 延时1-10秒随机数可以这样调用:wt ...

vb timer控件怎么设置一小时后执行
设置timer1的interval为60000。定义一个模块级变量i,在timer1的timer事件中添加代码如下 i = i + 1 If i > 1 And i Mod 60 = 0 Then 。。。要执行的命令 他的回答只能检测一次,即时间大于60分钟就不能继续检测了,而我的答案可以重复检测只要时间是60分钟的倍数就满足条件,孰优孰劣,你应...

vb中怎么设置一个计时程序
Private Sub Command1_Click()Timer1.Enabled = Not (Timer1.Enabled)s = 0 h = 0 m = 0 End Sub Private Sub Timer1_Timer()s = s + 1 If s = 60 Then m = m + 1: s = 0 If m = 60 Then h = h + 1: m = 0 If h = 24 Then h = 0 Label1.Caption = h & ...

相似回答