6

如何检测是否在OnMouseMove控件事件中按住鼠标左键?

4

2 回答 2

9

您的 OnMouseMove 事件的事件处理程序应该收到一个MouseEventArgs应该告诉您是否按下左按钮

private void mouseMoveEventHandler(object sender, MouseEventArgs e)
{
   if(e.Button == MouseButtons.Left)
   {
     //do left stuff
   }
   else 
   {
     // do other stuff
   }
}
于 2010-02-02T17:33:37.183 回答
1

只需在按住鼠标左键时将布尔值设置为 true,并在松开鼠标左键时将其设置为 false。

如果您在触发 OnMouseMove 事件时检查 bool 的条件,那么您将能够找出它是否被按住。

伪代码:

private bool isDown;

MouseDown()
{
   isDown = true;
}

MouseUp()
{
   isDown = false;
}
OnMouseMove()
{
   if(isDown)
   {
       //Do something...
   }
}
于 2010-02-02T17:31:44.793 回答