来个最笨的思路:
Option Explicit
Private Sub Command1_Click()
    ''设置标签内容
    Dim i As Long, k As Long
    Lab(0).Caption = "0123456789abcdefghijklmnopqrstuvwxyz"
    ''计算布满窗体需要几组标签
    k = CLng(Me.Width / Lab(0).Width) + 1
    If k = 1 Then k = 2 ''保证最少2组
    ''加载其它标签
    For i = 1 To k - 1
        Load Lab(i)
        Lab(i).Caption = Lab(0).Caption ''设置标签内容
        Lab(i).Visible = True ''确保标签可见
    Next
    ''调整标签位置
    For i = 0 To k - 1
        If i = 0 Then
            ''设置第一个标签位置
            Lab(i).Move Me.Width, 800
        Else
            Lab(i).Move Lab(i - 1).Left + Lab(i - 1).Width, 800
        End If
    Next
    Lab(0).Tag = "0" ''排在最前面的编号
    ''设置定时器,开始工作
    Timer1.Interval = 100 ''100ms执行一次
    Timer1.Enabled = True
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Timer1.Enabled = True
End Sub
Private Sub Lab_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
    ''鼠标移动到标签上时,停止滚动;离开时又开始滚动(由窗体监测)
    Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
    Dim i As Long, k As Long
    For i = 0 To Lab.Count - 1
        Lab(i).Left = Lab(i).Left - 100 ''每次向左移动100twips
    Next
    ''判断最前面的是否出了窗体左边界
    i = CLng(Lab(0).Tag) ''第一个lab编号
    If Lab(i).Left + Lab(i).Width <= 0 Then
        ''移动到最后
        k = i - 1 ''计算当前最后编号
        If k < 0 Then k = Lab.Count - 1
        Lab(i).Left = Lab(k).Left + Lab(k).Width
        k = i + 1 ''计算新的排头编号
        If k > Lab.Count - 1 Then k = 0
        Lab(0).Tag = CStr(k) ''保存新排头编号
    End If
End Sub

解决方案 »

  1.   

    还可以用webbrowser控件中marquee元素,这个具备多种滚动特效(不过不能实现无间隔连续滚动),只需几十个字符就能完成。
      

  2.   

    弄个背景透明的picturebox做蒙板,在picturebox里面弄两个Label,label1和label2,内容一样从下往上滚动就把label2放到label1的下面,然后通过程序控制label1、label2的top值改变,使label1、label2同步向上移动,当label1移出picturebox的显示区就挪到label2的下面,当label2移出picturebox的显示区就挪到label1的下面,循环这个过程就OK了其它的滚法类似
      

  3.   


    大哥,不行啊,我试了建几个lab数组控件,报错。
      

  4.   


    大哥,不行啊,我试了建几个lab数组控件,报错。界面中只需要一个label,一个command,一个timer共3个控件
    其中label需要改名lab,并且将index值设为0
    然后运行点command即可