예제 #1
0
        private void AscanToolLayout_MouseDown(object sender, MouseEventArgs e)
        {
            ///确定鼠标状态
            if (e.Button == MouseButtons.Left)
            {
                MouseLeftIsDown = true;
                switch (MouseState)
                {
                case "RefX":
                    SetAllDisable();
                    ReferenceC.SelectedX = true;
                    break;

                case "RefY":
                    SetAllDisable();
                    ReferenceC.SelectedY = true;
                    break;

                case "MeaX":
                    SetAllDisable();
                    MeasureC.SelectedX = true;
                    break;

                case "MeaY":
                    SetAllDisable();
                    MeasureC.SelectedY = true;
                    break;
                }
                if (MouseState.Contains("0"))
                {
                    SetAllDisable();
                    gate0.Selected = true;
                }
                if (MouseState.Contains("1"))
                {
                    SetAllDisable();
                    gate1.Selected = true;
                }
                if (MouseState.Contains("2"))
                {
                    SetAllDisable();
                    gate2.Selected = true;
                }
                if (MouseState.Contains("3"))
                {
                    SetAllDisable();
                    gate3.Selected = true;
                }
                LastMouseState = MouseState;
            }


            ///新建缩放区域,准备画图
            if (MouseIsInControl && MouseState == "+")
            {
                zoomRegion    = new ZoomRegion();
                zoomRegion.p0 = e.Location;
            }
        }
예제 #2
0
        private void LongSrtipToolLayout_MouseUp(object sender, MouseEventArgs e)
        {
            ///重置缩放区域
            if (zoomRegion != null &&
                zoomRegion.width != 0 &&
                zoomRegion.height != 0 &&
                !MouseIsDoubleClick)
            {
                FigCursors ft = new FigCursors();
                InitialFigCursors(ref ft);
                ft.XPixel = zoomRegion.minX;
                ft.YPixel = zoomRegion.minY;
                float sx = ft.X;
                float ey = ft.Y;
                int   xa = ft.XPixel;
                int   ya = ft.YPixel;

                ft.XPixel = zoomRegion.minX + zoomRegion.width - 1;
                ft.YPixel = zoomRegion.minY + zoomRegion.height - 1;
                float ex = ft.X;
                float sy = ft.Y;
                int   xb = ft.XPixel;
                int   yb = ft.YPixel;

                /*Console.WriteLine(new Rectangle(xa, ya, xb - xa, yb - ya));
                 * Console.WriteLine("sx=" + sx.ToString());
                 * Console.WriteLine("ex=" + ex.ToString());
                 * Console.WriteLine("sy=" + sy.ToString());
                 * Console.WriteLine("ey=" + ey.ToString());*/

                if (xb > xa & yb > ya)
                {
                    StartX = sx;
                    EndX   = ex;
                    StartY = sy;
                    EndY   = ey;
                    RangeChanged?.Invoke(new float[] {
                        StartX, EndX, StartY, EndY,
                        zoomRegion.minX, zoomRegion.minY, zoomRegion.width, zoomRegion.height
                    });
                }
            }
            zoomRegion = null;


            Invalidate();

            ///重置光标选定信息和状态信息
            MouseLeftIsDown = false;

            MouseState = "+";
        }
예제 #3
0
        private void UltraToolLayout_MouseDown(object sender, MouseEventArgs e)
        {
            ///确定鼠标状态
            if (e.Button == MouseButtons.Left)
            {
                MouseLeftIsDown = true;
                switch (MouseState)
                {
                case "RefX":
                    RefCursor.xSelected = true;
                    if (MeaCursor != null)
                    {
                        MeaCursor.Selected = false;
                    }
                    break;

                case "RefY":
                    RefCursor.ySelected = true;
                    if (MeaCursor != null)
                    {
                        MeaCursor.Selected = false;
                    }
                    break;

                case "MeaX":
                    MeaCursor.xSelected = true;
                    if (RefCursor != null)
                    {
                        RefCursor.Selected = false;
                    }
                    break;

                case "MeaY":
                    MeaCursor.ySelected = true;
                    if (RefCursor != null)
                    {
                        RefCursor.Selected = false;
                    }
                    break;
                }
                LastSelectedCursor = MouseState;
            }

            ///新建缩放区域,准备画图
            if (MouseIsInControl && MouseState == "+")
            {
                zoomRegion    = new ZoomRegion();
                zoomRegion.p0 = e.Location;
            }
        }
예제 #4
0
        private void LongSrtipToolLayout_MouseDown(object sender, MouseEventArgs e)
        {
            ///确定鼠标状态
            if (e.Button == MouseButtons.Left)
            {
                LastMouseState = MouseState;
            }


            ///新建缩放区域,准备画图
            if (MouseIsInControl)
            {
                zoomRegion    = new ZoomRegion();
                zoomRegion.p0 = e.Location;
            }
        }
예제 #5
0
        private void UltraToolLayout_MouseUp(object sender, MouseEventArgs e)
        {
            ///重置缩放区域
            if (zoomRegion != null && zoomRegion.width != 0 && zoomRegion.height != 0)
            {
                FigCursor ft = new FigCursor();
                ResetCurrentCursor(ft, zoomRegion.minX, zoomRegion.minY);
                double sx = ft.pdata.X;
                double ey = ft.pdata.Y;
                int    xa = ft.p.X;
                int    ya = ft.p.Y;
                ResetCurrentCursor(ft, zoomRegion.minX + zoomRegion.width - 1, zoomRegion.minY + zoomRegion.height - 1);
                double ex = ft.pdata.X;
                double sy = ft.pdata.Y;
                int    xb = ft.p.X;
                int    yb = ft.p.Y;
                startX = sx;
                endX   = ex;
                startY = sy;
                endY   = ey;
                Console.WriteLine(new Rectangle(xa, ya, xb - xa, yb - ya));
                Console.WriteLine("sx=" + sx.ToString());
                Console.WriteLine("ex=" + ex.ToString());
                Console.WriteLine("sy=" + sy.ToString());
                Console.WriteLine("ey=" + ey.ToString());

                if (xb > xa & yb > ya)
                {
                    RangeChanged?.Invoke(new float[] { xa, ya, xb - xa, yb - ya,
                                                       (float)sx, (float)ex, (float)sy, (float)ey });
                }
            }
            zoomRegion = null;

            ///1 鼠标双击时,设置光标,并获取当前光标相对位置
            ///2 重置双击状态
            if (MouseIsDoubleClick)
            {
                kx = (_ex - _sx) / (Width - 1.0);
                ky = (_sy - _ey) / (Height - 1.0);
                if (e.Button == MouseButtons.Left)
                {
                    InitalCursor("Ref", e.Location);
                    ResetCurrentCursor(RefCursor, e.X, e.Y);
                }
                else
                {
                    InitalCursor("Mea", e.Location);
                    ResetCurrentCursor(MeaCursor, e.X, e.Y);
                }
                MouseIsDoubleClick = false;
            }
            Invalidate();

            ///重置光标选定信息和状态信息
            MouseLeftIsDown = false;
            if (RefCursor != null)
            {
                RefCursor.Selected = false;
            }
            if (MeaCursor != null)
            {
                MeaCursor.Selected = false;
            }
            MouseState = "+";
        }
예제 #6
0
        private void AscanToolLayout_MouseUp(object sender, MouseEventArgs e)
        {
            ///重置缩放区域
            if (zoomRegion != null &&
                zoomRegion.width != 0 &&
                zoomRegion.height != 0 &&
                !MouseIsDoubleClick)
            {
                FigCursors ft = new FigCursors();
                InitialCursors(ref ft);

                ft.XPixel = zoomRegion.minX;
                ft.YPixel = zoomRegion.minY;
                float sx = ft.X;
                float ey = ft.Y;
                int   xa = ft.XPixel;
                int   ya = ft.YPixel;

                ft.XPixel = zoomRegion.minX + zoomRegion.width - 1;
                ft.YPixel = zoomRegion.minY + zoomRegion.height - 1;
                float ex = ft.X;
                float sy = ft.Y;
                int   xb = ft.XPixel;
                int   yb = ft.YPixel;

                /*Console.WriteLine(new Rectangle(xa, ya, xb - xa, yb - ya));
                 * Console.WriteLine("sx=" + sx.ToString());
                 * Console.WriteLine("ex=" + ex.ToString());
                 * Console.WriteLine("sy=" + sy.ToString());
                 * Console.WriteLine("ey=" + ey.ToString());*/

                if (xb > xa & yb > ya)
                {
                    StartX = sx;
                    EndX   = ex;
                    StartY = sy;
                    EndY   = ey;
                    RangeChanged?.Invoke(new float[] {
                        StartX, EndX, StartY, EndY,
                        zoomRegion.minX, zoomRegion.minY, zoomRegion.width, zoomRegion.height
                    });
                }
            }
            zoomRegion = null;

            ///1 鼠标双击时,设置光标,并获取当前光标相对位置
            ///2 重置双击状态
            if (MouseIsDoubleClick)
            {
                if (e.Button == MouseButtons.Left)
                {
                    EnableCursors(ref ReferenceC, e.X, e.Y);
                }
                else
                {
                    EnableCursors(ref MeasureC, e.X, e.Y);
                }
                MouseIsDoubleClick = false;
            }
            Invalidate();

            ///重置光标选定信息和状态信息
            MouseLeftIsDown = false;
            SetAllDisable();
            MouseState = "+";
        }