我需要从鼠标被按下的那一刻起找出鼠标的方向(左或右)。
我只能使用事件OnMouseMove。
使用以下方法我无法获得e.GetPosition(this).X的方向。当鼠标移动和点击时,它是相同的值。
知道怎么解决吗?
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;
}
}
答案 0 :(得分: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.