我正在制作简单的绘画应用程序,只要有人按住鼠标按钮并拖动(就像在窗口绘画中一样),就会绘制一条线。
但是我很难为此找到合适的事件处理程序。 MouseDown根本不起作用,只要我按下鼠标,MouseClick只会记下点。
在这件事上需要帮助。
感谢。
答案 0 :(得分:10)
处理MouseDown
并将布尔变量设置为true。处理MouseMove
,如果变量设置为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;
}