展开全部
基本思路,用个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
这是个基本的东西,按照你的实际要求改改吧,如有问题,再说 呵呵。
展开全部
软糖来回答把。
当label1,label2先后抵达时,a会不断在正负之间变化。
你把a改成a1和a2试试,一个label对应一个就不会这样了。
a1=50
a2=50
凡是含有label1的行a都改为a1,label2的行a都改为a2
当label1,label2先后抵达时,a会不断在正负之间变化。
你把a改成a1和a2试试,一个label对应一个就不会这样了。
a1=50
a2=50
凡是含有label1的行a都改为a1,label2的行a都改为a2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim a, b
Private Sub Form_Click()
Timer1.Enabled = Not Timer1.Enabled
End Sub
Private Sub Form_Load()
a = 10: b = 10
Timer1.Enabled = True
Timer1.Interval = 1
End Sub
Private Sub Timer1_Timer()
If Label1.Left + Label1.Width > Me.ScaleWidth And a > 0 Or Label1.Left <= 0 And a < 0 Then a = -a
If Label2.Left + Label2.Width > Me.ScaleWidth And b > 0 Or Label2.Left <= 0 And b < 0 Then b = -b
Label1.Left = Label1.Left + a
Label2.Left = Label2.Left + b
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim a, b
Private Sub Form_Click()
Timer1.Enabled = Not Timer1.Enabled
End Sub
Private Sub Form_Load()
a = 50
b = 50
End Sub
Private Sub Timer1_Timer()
If (Label1.Left + Label1.Width > ScaleWidth And a > 0) Or (Label1.Left < 0 And a < 0) Then a = -a
Label1.Left = Label1.Left + a
If (Label2.Left + Label2.Width > ScaleWidth And b > 0) Or (Label2.Left < 0 And b < 0) Then b = -b
Label2.Left = Label2.Left + b
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询