【发布时间】:2015-01-08 17:58:01
【问题描述】:
所以我的问题是我想一次在一个表单上有多个矩形。但是我也希望这些矩形能够被点击并拖过表单。 这是我当前的代码,用于单击并拖动使用工具箱绘制到表单上的矩形。
Public Class DragRectangle
Dim Go As Boolean
Dim LeftSet As Boolean
Dim TopSet As Boolean
Dim HoldLeft As Integer
Dim HoldTop As Integer
Dim OffLeft As Integer
Dim OffTop As Integer
Private Sub obj1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles RectangleShape1.MouseUp
Go = False
LeftSet = False
TopSet = False
End Sub
Private Sub obj1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles RectangleShape1.MouseDown
Go = True
End Sub
Private Sub obj1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles RectangleShape1.MouseMove
If Go = True Then
HoldLeft = (Control.MousePosition.X - Me.Left)
HoldTop = (Control.MousePosition.Y - Me.Top)
If TopSet = False Then
OffTop = HoldTop - sender.Top
TopSet = True
End If
If LeftSet = False Then
OffLeft = HoldLeft - sender.Left
LeftSet = True
End If
sender.Left = HoldLeft - OffLeft
sender.Top = HoldTop - OffTop
End If
End Sub
End Class
这适用于一个矩形,尽管这需要使用工具箱将矩形预先绘制到表单上。
我想要的是通过单击表单上的按钮来绘制一个矩形,并且也可以单击新绘制的矩形并将其拖动到新位置。
这可能吗? 感谢您的帮助
【问题讨论】:
标签: vb.net draggable rectangles