private void canvas_MouseMove(object sender, MouseEventArgs e) { if (e.LeftButton == MouseButtonState.Pressed) { curShape.Vertex2 = e.GetPosition(canvas); } if (e.RightButton == MouseButtonState.Pressed && curShape != null) { Point delta = new Point(e.GetPosition(canvas).X - RightButtonDownPos.X, e.GetPosition(canvas).Y - RightButtonDownPos.Y); curShape.Move(delta); RightButtonDownPos = e.GetPosition(canvas); } }
private void KhungVe_MouseMove(object sender, MouseEventArgs e) { if (isMouseDown) { shapes[shapes.Count - 1].End = e.Location; KhungVe.Invalidate(); } else if (isMovingShape) { Point d = new Point(e.X - previousPoint.X, e.Y - previousPoint.Y); selectedShape.Move(d); previousPoint = e.Location; KhungVe.Invalidate(); } else if (currentShape == CurrentShape.NoDrawing) { if (isMouseSelect) { selectedRegion.Width = e.Location.X - selectedRegion.X; selectedRegion.Height = e.Location.Y - selectedRegion.Y; KhungVe.Invalidate(); } else { if (shapes.Exists(shape => shape.IsHit(e.Location))) { KhungVe.Cursor = Cursors.SizeAll; } else { KhungVe.Cursor = Cursors.Default; } } } if (isDrawPolygon) { Polygon polygon = shapes[shapes.Count - 1] as Polygon; polygon.Points[polygon.Points.Count - 1] = e.Location; KhungVe.Invalidate(); } else if (isDrawPyramid) { Pyramid pyramid = shapes[shapes.Count - 1] as Pyramid; pyramid.Points[pyramid.Points.Count - 1] = e.Location; KhungVe.Invalidate(); } else if (isDrawCurve) { Curve curve = shapes[shapes.Count - 1] as Curve; curve.Points[curve.Points.Count - 1] = e.Location; KhungVe.Invalidate(); } else if (isDrawBezier) { Curve bezier = shapes[shapes.Count - 1] as Curve; bezier.Points[bezier.Points.Count - 1] = e.Location; KhungVe.Invalidate(); } }