2
我正在其中每当有人按住鼠标键并拖动(酷似Windows画图)线将被绘制简单的绘图应用程序拖动鼠标。事件处理程序来检测图片框(的WinForms,C#)
但是我有一个很难找到这个合适的事件处理程序。当鼠标按下时,MouseDown根本不起作用,MouseClick只记下点。
在这个问题上需要帮助。
谢谢。
我正在其中每当有人按住鼠标键并拖动(酷似Windows画图)线将被绘制简单的绘图应用程序拖动鼠标。事件处理程序来检测图片框(的WinForms,C#)
但是我有一个很难找到这个合适的事件处理程序。当鼠标按下时,MouseDown根本不起作用,MouseClick只记下点。
在这个问题上需要帮助。
谢谢。
处理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;
}
谢谢你帮我。但为什么当我快速拖动它时会留下空间? – themis
鼠标移动不会为其行进的距离上的每个点触发,只要可能,就会触发。尝试在你的点之间画一条线。 – timothy