vb中设置标签从左向右滚动,标签右端在窗体右端消失后立刻从窗体左端出现,如何实现?

好吧,声明,不是标签一直自左向右滚动到消失就完事的,也不是等到标签左端也消失后才让标签右端从窗体左端出现。而是当标签右端从窗体右端消失后立刻出现在窗体左端。附截图,运行时... 好吧,声明,不是标签一直自左向右滚动到消失就完事的,也不是等到标签左端也消失后才让标签右端从窗体左端出现。
而是当标签右端从窗体右端消失后立刻出现在窗体左端。
附截图,运行时应出现如截图画面。
展开
 我来答
百度网友3c3b599
2012-06-01 · TA获得超过146个赞
知道小有建树答主
回答量:279
采纳率:100%
帮助的人:353万
展开全部
Dim i As Integer, n As Integer
Private Sub Form_Load()
'label1与格式label2一样,但label2初始无值
Label1.Caption = "内蒙古欢迎你"
Label1.AutoSize = True
Label2.Caption = ""
Label2.Visible = False
Label2.Left = 0
Label2.Top = Label1.Top
If Me.Width / Label1.Width > 1.5 Then Timer1.Enabled = True
i = 1
n = Len(Trim(Label1.Caption))
End Sub

Private Sub Timer1_Timer()
If Len(Trim(Label1.Caption)) > 0 Then Label1.Left = Label1.Left + 50

If Len(Trim(Label2.Caption)) > 0 Then Label2.Left = Label2.Left + 50

If Label1.Left + Label1.Width > Me.Width Then
If Len(Trim(Label1.Caption)) > 0 Then
Label2.Visible = True
Label2.Caption = Right(Label1.Caption, 1) + Label2.Caption
Label1.Caption = Left(Label1.Caption, Len(Label1.Caption) - 1)
If Len(Trim(Label2.Caption)) > 1 Then Label2.Left = Label2.Left - Label2.FontSize * (Screen.TwipsPerPixelX + 5)
If Len(Trim(Label1.Caption)) = 0 Then
Label1.Left = 0
Label1.Visible = False
m = True
End If
End If
End If
If Label2.Left + Label2.Width > Me.Width Then
If Len(Trim(Label2.Caption)) > 0 Then
Label1.Visible = True
Label1.Caption = Right(Label2.Caption, 1) + Label1.Caption
Label2.Caption = Left(Label2.Caption, Len(Label2.Caption) - 1)
If Len(Trim(Label1.Caption)) > 1 Then Label1.Left = Label1.Left - Label1.FontSize * (Screen.TwipsPerPixelX + 5)
If Len(Trim(Label2.Caption)) = 0 Then
Label2.Left = 0
Label2.Visible = False
m = False
End If
End If
End If
End Sub
乐游原上的歌者
2012-06-06 · TA获得超过383个赞
知道小有建树答主
回答量:278
采纳率:71%
帮助的人:229万
展开全部
''两个标签设为同一控件组,别为Label1(0),Label1(1),
Private Sub Form_Load()
Me.WindowState = 2
Me.BackColor = RGB(0, 255, 255)

For i = 0 To 1
Label1(i).AutoSize = True
Label1(i).BackStyle = 0

Label1(i).Left = Me.Width / 2 - Label1(i).Width / 2
Label1(i).FontSize = 60
Label1(i).Caption = "内蒙古欢迎你"
Next

Timer1.Interval = 20
Timer1.Enabled = True
End Sub

Private Sub Form_Resize()
If Me.Height > Label1(0).Height Then
Label1(0).Top = Me.Height / 2 - Label1(0).Height / 2
Label1(1).Top = Me.Height / 2 - Label1(1).Height / 2
End If
End Sub

Private Sub Timer1_Timer()
For i = 0 To 1
If Label1(i).Left < 0 Then
Label1(1 - i).Left = Me.Width + Label1(i).Left
End If
Label1(i).Left = Label1(i).Left - 50
Next
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式