5

我正在制作简单的绘画应用程序,只要有人按住鼠标按钮并拖动(就像在 Windows 绘画中一样),就会在其中绘制一条线。

但是,我很难为此找到合适的事件处理程序。MouseDown 根本不起作用,并且 MouseClick 只会在我按下鼠标时记下点。

在这件事上需要帮助。

谢谢。

4

1 回答 1

14

处理MouseDown布尔变量并将其设置为 true。HandleMouseMove并且,如果变量设置为 true 并且鼠标的移动高于您想要的阈值,则操作。处理MouseUp并将该变量设置为 false。

例子:

bool _mousePressed;
private void OnMouseDown(object sender, MouseEventArgs e)
{
    _mousePressed = true;
}

private void OnMouseMove(object sender, MouseEventArgs e)
{
    if (_mousePressed)
    {
        //Operate
    }
}

private void OnMouseUp(object sender, MouseEventArgs e)
{
    _mousePressed = false;
}
于 2012-12-17T15:57:50.807 回答