vb.net2008使控件label在窗体内拖动并限制范围的问题
vb.net吧
全部回复
仅看楼主
level 1
zzc4587 楼主
Public Class tftest
Dim ss As Boolean
Dim mov As Point
Private Sub Label1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseDown
ss = True
mov = New Point(e.X, e.Y)
End Sub Private Sub Label1_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseUp
ss = False
End Sub Private Sub Label1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label1.MouseMove
Dim a, b As Integer
a = mov.X - e.X
b = mov.Y - e.Y
TextBox1.Text = a
TextBox2.Text = b
If ss = True And Me.Label1.Left >= 10 And Me.Label1.Left < Me.Width - Me.Label1.Width Then
Me.Label1.Left = Me.Label1.Left - a
End If
If ss = True And Me.Label1.Top > 0 And Me.Label1.Top < Me.Height - Me.Label1.Height Then
Me.Label1.Top = Me.Label1.Top - b
End If
End Sub
用这个代码可以实现拖动,但没法限制范围,虽然定义了.left的大小值,但还是可以拖出界,或者一旦停在界上,就不能再拖动了。请问老师们如何解决~~~~怎么能让控件不能拖出窗体
2012年11月24日 13点11分 1
level 1
zzc4587 楼主
没人应呀~~~
2012年11月24日 15点11分 2
level 1
zzc4587 楼主
还没等到回复,自己搞定了,晕~~~
2012年11月24日 16点11分 3
1