这可以理解,bottom,right代表控件底和右部边界的坐标值,而非高度和宽度。移动的话对边的边界自然同步移动的了。
创新互联公司专业为企业提供弓长岭网站建设、弓长岭做网站、弓长岭网站设计、弓长岭网站制作等企业网站建设、网页设计与制作、弓长岭企业网站模板建站服务,十多年弓长岭做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
要加一个计时器
timer1
Private
Sub
Form_Load()
Timer1.Interval
=
100
Timer1.Enabled
=
True
'每100
毫秒检查一次
End
Sub
Private
Sub
Timer1_Timer()
'利用if语句判断Label的位置
If
Label1.Left
Val(Form1.Width)
Then
'Label尚未完全左移出窗体时
Label1.Left
=
Label1.Left
+
100
Else
Label1.Left
=
-
Val(Label1.Width)
'Label从窗体左侧出现
End
If
End
Sub
见下面代码,放置定时器,按钮,标签各一个
Public Class Form1
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick '定时器
If Label1.Right Me.Width Then
Label1.Left += 10'移动距离
Else
Label1.Left = 0
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click '开启或者关闭定时器
Timer1.Interval = 1000 '1秒
If Timer1.Enabled = False Then
Timer1.Start() '开定时器
Else
Timer1.Stop() '关定时器
End If
End Sub
End Class
'-------不知你是否是要实现左右来回移动-----------
'添加控件label1
'添加控件Timer1
'设置Timer1.enabled=True
'添加Timer1_Tick事件
'代码如下:
Dim dir As Boolean = False
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim x As Integer = Me.Label1.Location.X
Dim y As Integer = Me.Label1.Location.Y
Dim pointxy As New Point(x, y)
If x = 0 Then
dir = False
ElseIf x = Me.Width - Me.Label1.Width Then
dir = True
End If
If dir Then
pointxy = New Point(x - 1, y)
Else
pointxy = New Point(x + 1, y)
End If
Me.Label1.Location = pointxy
End Sub
比如有3个按钮,1,2,3,3在1,2之间。
取得1按钮的右边位置,left属性+width属性,2按钮的左位置,就是left属性。
再定位3的left就可以了。
Dim
a
Private
Sub
Command2_Click()
Timer1.Enabled
=
True
End
Sub
Private
Sub
Form_Click()
Timer1.Enabled
=
False
End
Sub
Private
Sub
Form_Load()
Timer1.Interval
=
100
a
=
20
End
Sub
Private
Sub
Timer1_Timer()
If
Command3.Left
Command1.Left
+
Command1.Width
Then
a
=
20
If
Command3.Left
+
Command3.Width
Command2.Left
Then
a
=
-20
Command3.Left
=
Command3.Left
+
a
End
Sub