//Start dragging if mouse was moved private void StartDragging(object sender, MouseEventArgs e) { Point movePoint = this.OwnerNode.OwnerCTreeView.PointToClient(Cursor.Position); if (Math.Abs(mouseDownPosition.X - movePoint.X) + Math.Abs(mouseDownPosition.Y - movePoint.Y) > 5) //if (Math.Abs(mouseDownPosition.X - e.Location.X) + Math.Abs(mouseDownPosition.Y - e.Location.Y)>5) { this.MouseUp -= NotDragging; this.MouseMove -= StartDragging; OwnerNode.Drag(); } }