在循环中,
for i=1 to 50
    label1.Caption=i
next i
label1只能显示最后的值50
如何让它显示1、2、3、4、5........到50。

解决方案 »

  1.   

    for i=1 to 50
        label1.Caption=label1.Caption & i
    next i
      

  2.   

    我的意思是它变化太快了,有时间label的信息没有能显示就完了
      

  3.   

    试试这个
    i=1
    do while i<50  label1.Caption = i
      i=i+1
      do events
    loop
      

  4.   

    我的意思是它变化太快了,有时间label的信息没有能显示就完了//你想要lable慢慢显示??不懂得你说什么呢
      

  5.   

    在循环中插入doEvents语句,将控制权让出,可以让Label控件慢慢显示,我以前试过.
    如果不行的话你就用timer控件吧
      

  6.   

    在窗体上添加label1和timer1控件,将timer1的interval属性设为1000(根据需要调整),
    Private Sub Timer1_Timer()
        Static i As Integer
        i = i + 1
        Label1.Caption = i
    End Sub
    这样就达到你的要求了。
      

  7.   

    Dim i As Integer
    Private Sub Form_Load()
        Timer1.Interval = 100
        i = 0
    End SubPrivate Sub Timer1_Timer()
        i = i + 1
        If i > 50 Then
            Timer1.Enabled = False
        Else
            Label1.Caption = i
        End If
    End Sub
      

  8.   

    我想你提问的本意就不太喜欢用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
      

  9.   

    个人觉的还是用timer控件比较好呵呵