private Point mouseOffset; private void label1_MouseDown( object sender, MouseEventArgs e) { mouseOffset = new Point(-e.X, -e.Y); } private void label1_MouseMove( object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { Point mousePos = Control.MousePosition; mousePos.Offset(mouseOffset.X, mouseOffset.Y); ((Control)sender).Location = ((Control)sender).Parent.PointToClient(mousePos); } }