首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

VB中疑似只能有一个Timer运行,附测试代码,请高手测试并释疑。多谢!

2013-09-18 
VB中疑似只能有一个Timer运行,附测试代码,请高手测试并释疑。谢谢!!在窗体中建立2个Timer,2个Label, 当Time

VB中疑似只能有一个Timer运行,附测试代码,请高手测试并释疑。谢谢!!
在窗体中建立2个Timer,2个Label,
 当Timer1运行时,Timer2并没运行,
 代码有问题,还是VB只能有一个Timer运行?
 请高手测试并释疑。
 谢谢!!!

 测试代码如下:

Option Explicit
 Dim a As Long
 Dim b As Long
 Dim i
 Dim c

 Private Sub Form_Load()
 Timer1.Interval = 1
 Timer2.Interval = 1000
 End Sub

 Private Sub Timer1_Timer()
 For i = 1 To 100000000
 c = c + 1
 Next i
 a = a + 1
 Label1.Caption = a
 If a = 1000 Then Timer1.Enabled = False
 If a = 1000 Then Timer2.Enabled = False
 End Sub

 Private Sub Timer2_Timer()
 b = b + 1
 Label2.Caption = b
 End Sub

[解决办法]
1,Timer1.Interval = 1 是不成立的,实际中肯定大于20,你自己可以测试
2,只要允许,Timer会相互执行的,不会存在不执行的情况,否则就是VB6有问题了
3,无法明白你在测试什么
[解决办法]
 Timer1_Timer()运行的时间太长了,VB6是单线程程序, Timer1_Timer()独占CPU,Timer2只能等 Timer1_Timer()完了才有机会运行。
For i = 1 To 100000000
 c = c + 1
 doevents'加上这句就能看出timer2在正常运行。
 Next i
[解决办法]
你要用2个TIMER,一个要处理很长时间的话,那就只能用多线程了,办法是有,就是麻烦点

热点排行