Итак, моя проблема в том, что я хочу иметь сразу несколько прямоугольников. Однако я также хочу, чтобы эти прямоугольники можно было щелкнуть и перетащить через форму. Это мой текущий код для перетаскивания прямоугольника, который был нарисован на форме с помощью панели инструментов.Нажмите и перетащите реализацию на прямоугольник VB.NET
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
Это прекрасно работает для одного прямоугольника, хотя это требует прямоугольников быть предварительно нарисованные на форму с помощью панели инструментов.
Я хочу, чтобы прямоугольник рисовался нажатием кнопки на форме, а вновь нарисованный прямоугольник можно было щелкнуть и перетащить в новое место.
Возможно ли это? Спасибо за любую помощь