protected override void OnMouseDown(MouseEventArgs e) { if (!isDrawRectAreaCreated && e.Button == MouseButtons.Left) { firstStartPoint = new Point(e.X, e.Y); } if (!isDrawRectAreaCreated) { return; } lastPoint.X = e.X; lastPoint.Y = e.Y; selectMode = SelectionMode.None; Point point = new Point(e.X, e.Y); int handleNumber = drawRect.HitTest(point); // resize if (handleNumber > 0) { selectMode = SelectionMode.Size; resizedObjectHandle = handleNumber; } // move if (selectMode == SelectionMode.None) { if (handleNumber == 0) { selectMode = SelectionMode.Move; drawArea.Cursor = Cursors.SizeAll; } } base.OnMouseDown(e); }