如何让 Lable 或状态栏控件的信息显示
在循环中,
for i=1 to 50
label1.Caption=i
next i
label1只能显示最后的值50
如何让它显示1、2、3、4、5........到50。
问题点数:50、回复次数:11Top
1 楼lang_csdn(三无--笨牛)回复于 2004-12-04 18:01:34 得分 5
for i=1 to 50
label1.Caption=label1.Caption & i
next iTop
2 楼hywhyw()回复于 2004-12-04 18:04:39 得分 0
我的意思是它变化太快了,有时间label的信息没有能显示就完了Top
3 楼xiuyuan()回复于 2004-12-04 18:08:37 得分 5
试试这个
i=1
do while i<50
label1.Caption = i
i=i+1
do events
loopTop
4 楼daisy8675(莫依 沉迷)回复于 2004-12-04 18:11:29 得分 1
我的意思是它变化太快了,有时间label的信息没有能显示就完了
//你想要lable慢慢显示??不懂得你说什么呢Top
5 楼xiuyuan()回复于 2004-12-04 18:20:15 得分 5
在循环中插入doEvents语句,将控制权让出,可以让Label控件慢慢显示,我以前试过.
如果不行的话你就用timer控件吧Top
6 楼happy_sea(开心海(数据读取中,请稍候......))回复于 2004-12-04 19:03:51 得分 5
在窗体上添加label1和timer1控件,将timer1的interval属性设为1000(根据需要调整),
Private Sub Timer1_Timer()
Static i As Integer
i = i + 1
Label1.Caption = i
End Sub
这样就达到你的要求了。Top
7 楼lxcc()回复于 2004-12-04 20:09:26 得分 5
Dim i As Integer
Private Sub Form_Load()
Timer1.Interval = 100
i = 0
End Sub
Private Sub Timer1_Timer()
i = i + 1
If i > 50 Then
Timer1.Enabled = False
Else
Label1.Caption = i
End If
End Sub
Top
8 楼wm_ni(小倪)回复于 2004-12-04 20:12:13 得分 20
我想你提问的本意就不太喜欢用timer控件的,所以我推荐你使用sleep这个api函数。例子如下:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
For i = 1 To 50
Label1.Caption = i
Sleep 1000
DoEvents'这是为了防止运行时因sleep而睡死,呵呵。所以要把控制权转移一下。
Next i
End Sub
Top
9 楼happy_sea(开心海(数据读取中,请稍候......))回复于 2004-12-06 09:49:55 得分 1
同意楼上。Top
10 楼creazyfish(梳分头的鱼)回复于 2004-12-06 10:59:22 得分 3
个人觉的还是用timer控件比较好。。。呵呵Top
11 楼hywhyw()回复于 2004-12-06 18:37:14 得分 0
谢谢大家Top




