label循环移动 vb

来源:百度知道 编辑:UC知道 时间:2024/05/25 01:58:10
我希望做出这样的效果:label在一个范围内(最好不是窗体边界)一直从右至左的移动,最重要的是:当label有多长进入所设定的范围边界(即看不到了),那么从左边就会有多长显示出来。不是要等到全部消失了才从左边出来。
不知道我把问题说明白没有。举个例子吧,假如caption为:循环移动。【 】分别代表左右边界。某个时间点【循环移动 】,下个时间点【环移动 循】。当然,并不是说非得每次前进一个字符。
跪求各位大虾,在线等待ing
非常感谢luojianshu。他/她的代码相当正确,我会给他/她分的。但是我还有小问题,就是如何自己设定边界,而不是以窗体的边界为边界,即我希望label能在left=500的时候就开始逐渐消失,并从离窗体右边界500处开始显现。回答者我依然给分。

这是我QQ651254459
先加两个label和一个timer控件
Private Sub Form_Load()
Label1.Left = Form1.ScaleWidth
Label2.Left = Form1.ScaleWidth
Label1.Top = Form1.ScaleHeight / 2
Label2.Top = Form1.ScaleHeight / 2
Label2.Width = Label1.Width
Label2.Height = Label1.Height
Label2.BackColor = vbRed
Label1.BackColor = vbRed
Timer1.Enabled = True
Timer1.Interval = 10
End Sub

Private Sub Timer1_Timer()
Label1.Left = Label1.Left - 30
If Label1.Left < 0 Then Label2.Left = Label2.Left - 30
If Label1.Left < -Label1.Width Then Label1.Left = Label2.Left: Label2.Left = Form1.ScaleWidth
End Sub

Dim i As Integer
Private Sub Form_Load()
i = Label1.Width
End Sub

Private Sub Timer1_Timer()

Label2.left = Label2.left - 30
Label1.left = Label1.left - 30
Call SetTime(500, 500)

End Sub

Function SetTime(left As Integer, right As Integer)<