鼠标向下并向下移动

时间:2010-11-02 17:08:55

标签: c# mouse

它出了什么问题?

    private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
    {
        position_x = e.Location.X;
        position_y = e.Location.Y;
    }

    private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
    {
     int position_x_next = e.Location.X;
     int position_y_next = e.Location.Y;

     if (position_x_next < position_x)
     {
         MessageBox.Show("it moved left");
     }
    }

5 个答案:

答案 0 :(得分:2)

您需要跟踪鼠标的先前位置和新位置。

创建2个新变量,mouseIsDownpreviousMouseX

MouseDown处理程序中,将mouseIsDown设置为true,将previousMouseX设置为mouse.x,并将其设置为false MouseUp处理程序。

然后,添加MouseMove处理程序,检查previousMouseX是否大于mouse.x。如果是这样,鼠标向左移动。请务必在此处更新previousMouseX

答案 1 :(得分:1)

你应该每次检查MouseEventArgs以查看按钮何时关闭并捕获X和Y坐标 - 如果X坐标小于上次坐标,您可以告诉它向左移动

答案 2 :(得分:0)

实际上这很简单。存储它在最后一次移动事件中的位置(它在e参数中)。然后将当前位置与最后一个位置进行比较。如果它的X坐标在左边,它就会向左移动。

例如,如果要区分移动的左对角线和左对角移动区域,则应添加条件以检查Y轴的变化是否足够小以解决用户不精确问题。

答案 3 :(得分:0)

俗气的方式:

在鼠标按下事件IsMouseDown = true中设置一个标志。 在鼠标移动事件中检查IsMouseDown == true 在MouseUp中设置IsMouseDown = true

答案 4 :(得分:0)