在快速拖动矩形对象时,拖动停止 [英] While dragging rectangle object fast, dragging stops
问题描述
快速拖动矩形对象时,拖动停止并且光标仅移动。在不释放按钮的情况下,移动矩形对象上的光标会再次开始拖动。当我以恒定速度拖动时它拖得很好。
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屋!