label循环移动 vb

我希望做出这样的效果:label在一个范围内(最好不是窗体边界)一直从右至左的移动,最重要的是:当label有多长进入所设定的范围边界(即看不到了),那么从左边就会有多长... 我希望做出这样的效果:label在一个范围内(最好不是窗体边界)一直从右至左的移动,最重要的是:当label有多长进入所设定的范围边界(即看不到了),那么从左边就会有多长显示出来。不是要等到全部消失了才从左边出来。
不知道我把问题说明白没有。举个例子吧,假如caption为:循环移动。【 】分别代表左右边界。某个时间点【循环移动 】,下个时间点【环移动 循】。当然,并不是说非得每次前进一个字符。
跪求各位大虾,在线等待ing
非常感谢luojianshu。他/她的代码相当正确,我会给他/她分的。但是我还有小问题,就是如何自己设定边界,而不是以窗体的边界为边界,即我希望label能在left=500的时候就开始逐渐消失,并从离窗体右边界500处开始显现。回答者我依然给分。
展开
 我来答
luojianshu
2008-12-21 · 超过29用户采纳过TA的回答
知道答主
回答量:124
采纳率:0%
帮助的人:59.5万
展开全部
这是我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
痛快还轻快的抹香鲸6
2008-12-24
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
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)
If Label2.left < left Then

If left - Label2.left < i Then

Label1.Width = left - Label2.left
Label2.Width = i + Label2.left - left

Else
Label2.left = Label1.left
End If
End If
If Label2.left < left And Label2.left > left - 31 Then
Label1.left = Me.Width - right
End If
End Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式