C# 如何找到鼠标移动方向?
我需要从按下鼠标的那一刻起找出鼠标的方向(左或右) 我只能使用mouseMove上的事件 使用以下方法,我无法获得e.GetPosition(this.X)的方向。当鼠标移动和单击时,它的值是相同的 你知道怎么解决吗C# 如何找到鼠标移动方向?,c#,wpf,wpf-controls,C#,Wpf,Wpf Controls,我需要从按下鼠标的那一刻起找出鼠标的方向(左或右) 我只能使用mouseMove上的事件 使用以下方法,我无法获得e.GetPosition(this.X)的方向。当鼠标移动和单击时,它的值是相同的 你知道怎么解决吗 protected override void OnMouseMove(MouseEventArgs e) { currentPositionX = e.GetPosition(this).X; if (e.LeftButton =
protected override void OnMouseMove(MouseEventArgs e)
{
currentPositionX = e.GetPosition(this).X;
if (e.LeftButton == MouseButtonState.Pressed)
{
double deltaDirection = currentPositionX - e.GetPosition(this).X;
direction = deltaDirection > 0 ? 1 : -1;
}
}
您的解决方案几乎完成了。您只需分别检查两种情况下的当前位置:按下按钮时和未按下按钮时:
protected override void OnMouseMove(MouseEventArgs e)
{
if (e.LeftButton == MouseButtonState.Pressed)
{
double deltaDirection = currentPositionX - e.GetPosition(this).X;
direction = deltaDirection > 0 ? 1 : -1;
currentPositionX = e.GetPosition(this).X;
}
else
{
currentPositionX = e.GetPosition(this).X;
}
}
向右移动将导致-1,向左移动返回1