在vb中怎样使label标签框左右来回移动 5
4个回答
展开全部
利用定时器Timer来实现
Option Explicit
'移动方向标志
Dim GoLeft As Boolean
Private Sub Form_Load()
'为了更好的演示效果,移除Label文字周围的空隙
Label1.AutoSize = True
'启动定时器
Timer1.Interval = 50
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
With Label1
'如果Label1到达窗体最左侧,则向右移动
If (.left + .Width) > Me.ScaleWidth Then GoLeft = False
'如果Label1到达窗体最右测,则向左移动
If .left < 0 Then GoLeft = True
If GoLeft Then
'向左移动5个像素
.Move Label1.left + Screen.TwipsPerPixelX * 5
Else
'向右移动5个像素
.Move Label1.left - Screen.TwipsPerPixelX * 5
End If
End With
End Sub
展开全部
基本思路,用个timer控件,然后在timer事件中控制label的左边位置就可以了,例如:
private FXJ as boolean
private sub Form_load()
FXJ= true
label1.caption="看我移动"
label1.left=0
timer1.interve=10
end sub
private sub timer1_timer()
if fxj then
label1.left=label1.left+10
if label1.left>=form1.width-label1.width then fxj=not fxj
else
label1.left=label1.left-10
if label1.left<=0 then fxj=not fxj
end if
end sub
这是个基本的东西,按照你的实际要求改改吧,如有问题,再说 呵呵。
private FXJ as boolean
private sub Form_load()
FXJ= true
label1.caption="看我移动"
label1.left=0
timer1.interve=10
end sub
private sub timer1_timer()
if fxj then
label1.left=label1.left+10
if label1.left>=form1.width-label1.width then fxj=not fxj
else
label1.left=label1.left-10
if label1.left<=0 then fxj=not fxj
end if
end sub
这是个基本的东西,按照你的实际要求改改吧,如有问题,再说 呵呵。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
补充一下 tian_yf 的回答
用个计时器,设置它的触发时间间隔,然后在计时器的事件里修改label的left属性值加或减,就能控制label的左移或右移.同时别忘了判断一下label是否移动到了父控件外面去了.有什么不明白的地方,您可以补充提问。直接给代码对学习不利@@
比较遗憾。欧联科技 朋友的直接给出了代码,代码思路就上上面我写的思路。
(授人以鱼不如授人以渔)
用个计时器,设置它的触发时间间隔,然后在计时器的事件里修改label的left属性值加或减,就能控制label的左移或右移.同时别忘了判断一下label是否移动到了父控件外面去了.有什么不明白的地方,您可以补充提问。直接给代码对学习不利@@
比较遗憾。欧联科技 朋友的直接给出了代码,代码思路就上上面我写的思路。
(授人以鱼不如授人以渔)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
更改label标签的left属性大小就行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询