关于timer的使用,简单

badcoldlj 2003-08-23 03:36:42
我在程序中想用一个计时器来延时,代码如下

Public Sub ThinkInterval()
Dim Interval As Integer
ThinkOK = False
Interval = 1000
Timer1.Interval = Interval
Timer1.Enabled() = True
Timer1.Start()
End Sub

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Enabled = False
ThinkOK = True
End Sub

在另外一处调用thinkinterval(),时间结束后(tick将thinkok置为true)在执行别的动作,调用如下

....
ThinkInterval()
while thinkok=false

end while
'do other things
.....

可是一到这就死循环,thinkok不能置为true,我错在哪里了呢?
...全文
40 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
menuvb 2003-08-23
  • 打赏
  • 举报
回复
UP,好,
panyee 2003-08-23
  • 打赏
  • 举报
回复
延时一秒的话, 一句

Thread.Sleep(1000) 

就可以了
badcoldlj 2003-08-23
  • 打赏
  • 举报
回复
tianch(晴空),你说的正是我想要的,具体怎么做啊,写一段简单的代码吧,多谢!!
tianch 2003-08-23
  • 打赏
  • 举报
回复
我是用线程来延时的
开一个线程,把线程挂起你需要的时间,用timer控件不断测试线程里的值,如果值改变了就说明线程执行完了,你再执行后面的语句
badcoldlj 2003-08-23
  • 打赏
  • 举报
回复
还是不行啊,我改成了
Dim Interval As Integer
ThinkOK = False
Interval = 1000
Timer1.Interval = Interval
Timer1.Enabled() = True
While ThinkOK = False

End While
do other things
还是死循环
panyee 2003-08-23
  • 打赏
  • 举报
回复
你别调用ThinkInterval, 只要运行 Timer1.Enabled = True, 就可以

16,554

社区成员

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

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