Posto direttamente il codice in VB...se hai bisogno chiarimenti chiedi pure.
Dim ctrl As Control
Dim PosMouseStart As Point
Dim PosMouseDiff As Point
Dim PosCtrlStart As Point
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
For Each c As Control In MyBase.Controls
AddHandler c.MouseDown, AddressOf PosStart
AddHandler c.MouseMove, AddressOf muovi
Next
End Sub
Private Sub PosStart(ByVal sender As Control, ByVal e As System.Windows.Forms.MouseEventArgs)
PosMouseStart = MousePosition
PosCtrlStart = sender.Location
End Sub
Private Sub muovi(ByVal sender As Control, ByVal e As System.Windows.Forms.MouseEventArgs)
If MouseButtons = Windows.Forms.MouseButtons.Left Then
PosMouseDiff = MousePosition - PosMouseStart
sender.Location = (PosCtrlStart + PosMouseDiff)
End If
End Sub
Ciao