Exemplo n.º 1
0
        /// <summary>
        /// 图像容器的左击鼠标事件,用于处理图像在容器中的移动终。
        /// </summary>
        private void BackFrame_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            System.Windows.Shapes.Rectangle img = sender as System.Windows.Shapes.Rectangle;
            if (img == null)
            {
                return;
            }
            img.ReleaseMouseCapture();
            mouseDown = false;

            popImgLL.Visibility   = System.Windows.Visibility.Hidden;   //如果左键鼠标启动,则停止右键提取显示数据的操作。
            strImgTips.txtLongStr = "";
        }
Exemplo n.º 2
0
        private void team_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            System.Windows.Shapes.Rectangle r = sender as System.Windows.Shapes.Rectangle;

            //Avoid in having method called on object being collided with
            if (!r.Name.Equals(movingRectangle))
            {
                return;
            }

            r.ReleaseMouseCapture();
            _isRectDragInProg = false;

            var    mousePos          = e.GetPosition(Map);
            double horizontalDropped = mousePos.X;
            double verticalDropped   = mousePos.Y;

            //Calling collision detection and resolution for the dropped object
            collisionDetection(r, horizontalDropped, verticalDropped);
        }
        private void drawingPanelMouseDown(object sender, MouseButtonEventArgs e)
        {
            _capturedPosition = e.GetPosition(drawingPanel);
            _mouseCaptured = true;
            _newRect = true;
            var rect = new Rectangle { Height = 1, Width = 1, Opacity = 0.2 };
            drawingPanel.Children.Add(rect);
            Canvas.SetLeft(rect, _capturedPosition.X);
            Canvas.SetTop(rect, _capturedPosition.Y);

            rect.CaptureMouse();
            rect.MouseMove += (_s,_e) =>
            {
                if (_mouseCaptured)
                {
                    if (_capturedPosition.Y < _e.GetPosition(drawingPanel).Y)
                    {
                        rect.Height = _e.GetPosition(drawingPanel).Y - _capturedPosition.Y;
                    }
                    else
                    {
                        rect.Height = _capturedPosition.Y - _e.GetPosition(drawingPanel).Y;
                        Canvas.SetTop(rect, _e.GetPosition(drawingPanel).Y);
                    }
                    if (_capturedPosition.X < _e.GetPosition(drawingPanel).X)
                    {
                        rect.Width = _e.GetPosition(drawingPanel).X - _capturedPosition.X;
                    }
                    else
                    {
                        rect.Width = _capturedPosition.X - _e.GetPosition(drawingPanel).X;
                        Canvas.SetLeft(rect, _e.GetPosition(drawingPanel).X);
                    }
                }
            };

            rect.MouseLeftButtonDown += (_s,_e) =>
            {

            };

            rect.MouseRightButtonDown += (_s, _e) =>
            {
                drawingPanel.Children.Remove(rect);
            };

            rect.MouseUp += (_s, _e) =>
            {
                _mouseCaptured = false;
                _newRect = false;
                rect.ReleaseMouseCapture();
                ReleaseMouseCapture();
            };
        }