Continuo a non essere convinto del tuo drag&drop ... probabilmente vuoi fare solo questo
codice:
Private md As Boolean
Private mp As Point
Private Sub Panel1_MouseDown(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseDown
md = True
mp = New Point(e.X, e.Y)
End Sub
Private Sub Panel1_MouseMove(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseMove
If md Then
Panel1.Location = PointToClient(sender.PointToScreen(New Point(e.X - mp.X, e.Y - mp.Y)))
End If
End Sub
Private Sub Panel1_MouseUp(sender As System.Object, e As System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseUp
md = False
End Sub