VB中拖动控件代码

来源:百度知道 编辑:UC知道 时间:2024/06/02 02:39:49
想要让鼠标在窗体内拖动一个控件(如标签)在窗体内任意移动,
松开鼠标后控件停留在拖动后的位置。
请问这段代码该怎么写???

我给你写了一段示例程序,拖动的控件时Label1。这个程序中,只有一个Label控件(name属性为Label1)和一个窗体。程序如下:
'定义一个布尔变量,用于标识控件是否可拖动
Dim canDrag As Boolean
Private Sub Form_Load()
'当窗体加载时,设置其值为false(即控件不可拖动)
canDrag = False
End Sub

Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
'当按下鼠标时,控件可以拖动,但是这个动作不在这里执行
canDrag = True
End Sub

Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If canDrag Then '如果canDrag为真,这一动鼠标时就拖动控件
Label1.Left = Label1.Left + X
Label1.Top = Label1.Top + Y
End If
End Sub

Private Sub Label1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
'松开鼠标时,控件不可拖动
canDrag = False
End Sub

在窗口放一个按钮,在复制下面代码运行测试ok!!!

Dim xx, yy, ax, ay As Long
Private Sub Command1_MouseDown(Button As In