private static void EndDragControl(Point mousePosition) { if (_isDraggingControl) DoDragControl(mousePosition); DraggingControl?.InvokeDragEnd(mousePosition); DraggingControl = null; _isDraggingControl = false; }
private static void DoDragControl(Point mousePosition) { if (DraggingControl == null) return; int deltaX = mousePosition.X - _dragOriginX; int deltaY = mousePosition.Y - _dragOriginY; DraggingControl.X = DraggingControl.X + deltaX; DraggingControl.Y = DraggingControl.Y + deltaY; DraggingControl.InvokeMove(deltaX, deltaY); _dragOriginX = mousePosition.X; _dragOriginY = mousePosition.Y; }