Option Strict On Public Class Form1 Dim WithEvents MonControle As New UserControl With {.BackColor Color.Red, .Parent Me} Dim MonPoint As Point Private Sub MonControle_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles MonControle.MouseDown If e.Button = Windows.Forms.MouseButtons.Left Then 'mémorisation de la position du clic gauche MonPoint = New Point(e.X + Me.Left + SystemInformation.BorderSize.Width, _ e.Y + Me.Top + SystemInformation.CaptionHeight) End If End Sub Private Sub MonControle_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles MonControle.MouseMove If e.Button = Windows.Forms.MouseButtons.Left Then 'déplacement du controle en se servant de la position du curseur MonControle.Location = Point.Subtract(Cursor.Position, New Size(MonPoint)) End If End Sub End Class