Посмотрите, удерживается ли левая кнопка мыши в событии OnMouseMove - PullRequest
6 голосов
/ 02 февраля 2010

Как определить, удерживается ли левая кнопка мыши в событии OnMouseMove для элемента управления?

Ответы [ 2 ]

9 голосов
/ 02 февраля 2010

Ваш обработчик события OnMouseMove должен получить MouseEventArgs, который должен сообщать вам, нажата ли левая кнопка

private void mouseMoveEventHandler(object sender, MouseEventArgs e)
{
   if(e.Button == MouseButtons.Left)
   {
     //do left stuff
   }
   else 
   {
     // do other stuff
   }
}
0 голосов
/ 02 февраля 2010

Просто присвойте логическому значению true, если удерживать левую кнопку мыши, и установите значение false, когда оно отпущено.

Если вы проверяете состояние bool при запуске события OnMouseMove, тогда вы будетевозможность узнать, удерживается ли он или нет.

Код Псуедо:

private bool isDown;

MouseDown()
{
   isDown = true;
}

MouseUp()
{
   isDown = false;
}
OnMouseMove()
{
   if(isDown)
   {
       //Do something...
   }
}
...