在快速拖动矩形对象时,拖动停止 [英] While dragging rectangle object fast, dragging stops

查看:59
本文介绍了在快速拖动矩形对象时,拖动停止的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


快速拖动矩形对象时,拖动停止并且光标仅移动。在不释放按钮的情况下,移动矩形对象上的光标会再次开始拖动。当我以恒定速度拖动时它拖得很好。

While dragging rectangle object fast, dragging stops and cursor only moves. Without releasing button click , moving the cursor on the rectangle object starts the dragging again. It is dragging fine when i drag on a constant speed.

我的代码是,

    private void ConnectorMethod()
    {
     _draggedLine = new Rectangle();
     _draggedLine.Width = 100;
     _draggedLine.Height = 12;
     _controlModel.PlayerCanvas.Children.Add(_draggedLine);
     _draggedLine.PreviewMouseLeftButtonDown += copy_Connector;
     _draggedLine.PreviewMouseLeftButtonUp += connector_leftUp;
    }

    private void copy_Connector(object sender, MouseButtonEventArgs e)
    {
        _connecting_Connector = (Rectangle)sender;
        _Connector_position = e.GetPosition(_connecting_Connector);
        _connecting_Connector.PreviewMouseMove += ConnectorMouseMove;

    }

    private void connector_leftUp(object sender, MouseButtonEventArgs e)
    {
        _connecting_Connector.PreviewMouseMove -= ConnectorMouseMove;
    }

    private void ConnectorMouseMove(object sender, MouseEventArgs e)
    {

        if (e.LeftButton == MouseButtonState.Pressed)
        {
            Point canvasRelativePosition = e.GetPosition(_controlModel.PlayerCanvas);
            Canvas.SetTop(_connecting_Connector, canvasRelativePosition.Y - _Connector_position.Y);
            Canvas.SetLeft(_connecting_Connector, canvasRelativePosition.X - _Connector_position.X);
            e.Handled = true;
        }
    }

请分享一个解决方案..我坚持了很久。

Kindly share a solution.. I stuck for long time on this.

谢谢我n Advance。

Thanks in Advance.

Raghuraman Kalai

Raghuraman Kalai

推荐答案

快速拖动矩形对象时,拖动停止和光标只有动作。在不释放按钮的情况下,移动矩形对象上的光标会再次开始拖动。当我以恒定速度拖动时,它拖得很好。

While dragging rectangle object fast, dragging stops and cursor only moves. Without releasing button click , moving the cursor on the rectangle object starts the dragging again. It is dragging fine when i drag on a constant speed.

我的代码是,

    private void ConnectorMethod()
    {
     _draggedLine = new Rectangle();
     _draggedLine.Width = 100;
     _draggedLine.Height = 12;
     _controlModel.PlayerCanvas.Children.Add(_draggedLine);
     _draggedLine.PreviewMouseLeftButtonDown += copy_Connector;
     _draggedLine.PreviewMouseLeftButtonUp += connector_leftUp;
    }

    private void copy_Connector(object sender, MouseButtonEventArgs e)
    {
        _connecting_Connector = (Rectangle)sender;
        _Connector_position = e.GetPosition(_connecting_Connector);
        _connecting_Connector.PreviewMouseMove += ConnectorMouseMove;

    }

    private void connector_leftUp(object sender, MouseButtonEventArgs e)
    {
        _connecting_Connector.PreviewMouseMove -= ConnectorMouseMove;
    }

    private void ConnectorMouseMove(object sender, MouseEventArgs e)
    {

        if (e.LeftButton == MouseButtonState.Pressed)
        {
            Point canvasRelativePosition = e.GetPosition(_controlModel.PlayerCanvas);
            Canvas.SetTop(_connecting_Connector, canvasRelativePosition.Y - _Connector_position.Y);
            Canvas.SetLeft(_connecting_Connector, canvasRelativePosition.X - _Connector_position.X);
            e.Handled = true;
        }
    }

请分享解决方案..我卡住了很长一段时间。

Kindly share a solution.. I stuck for long time on this.

先谢谢。


这篇关于在快速拖动矩形对象时,拖动停止的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆