想实现的功能是:我点那Label时他就自动每隔一段时间加一个数很简单,在里面加一个Label1再在里面写:Option ExplicitPrivate Sub Label1_Click()
Dim i, j, k As Integer
Do
For i = 1 To 500 For k = 1 To 10000
k = k + 1
Next k
i = i + 1
Next i
j = j + 1
Label1.Caption = j
Loop
End Sub
结果运行程序,点了那Label,结果程序什么也不显示,等了一分钟什么也没看到出现关掉那程序时系统提示:程序未响应,真不知道那里面出了什么错了
Dim i, j, k As Integer
Do
For i = 1 To 500 For k = 1 To 10000
k = k + 1
Next k
i = i + 1
Next i
j = j + 1
Label1.Caption = j
Loop
End Sub
结果运行程序,点了那Label,结果程序什么也不显示,等了一分钟什么也没看到出现关掉那程序时系统提示:程序未响应,真不知道那里面出了什么错了
Option Explicit
Public j As Long
Private Sub Form_Load()
Timer1.Enabled = False
Timer1.Interval = 1000 '1秒为间隔
j = 0 '赋初值
End SubPrivate Sub Form_Terminate()
Timer1.Enabled = False
End SubPrivate Sub Label1_Click()
Timer1.Enabled = True '开Timer
End SubPrivate Sub Timer1_Timer()
Label1.Caption = j '每一次时间到时Label1的Caption赋一次j值
j = j + 1
End Sub
本来我用了变速齿轮来改变Timer,没作用
想来测测循环的方法,看能不能起作用
你一加了Timer控件,白费劲了
DoEvents
Dim i, j, k As Integer
Do While Not (DoEvents = 0)
For i = 1 To 2000 For k = 1 To 10000
k = k + 1
Next k
i = i + 1
Next i
j = j + 1
Label1.Caption = j
Loop
End Sub
程序中的j应该声明为静态变量或窗体级变量
Dim i, j, k As Integer
Do
For i = 1 To 500 For k = 1 To 10000
DoEvents k = k + 1
Next k
i = i + 1
Next i
j = j + 1
Label1.Caption = j
Loop
End Sub
'这里没有doevents的话,Label之类的控件没有时间重新绘制
Loop
End Sub
LOOP死循环.
另外,要使caption有效果,就必须加doevents.