コード例 #1
0
        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);
            }
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: dtbao23/SimplePaint
        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();
            }
        }