Проблема с таймером при использовании двойного щелчка мышью - PullRequest
0 голосов
/ 03 августа 2011

Мне нужно различать клики и двойные клики, и я использовал это решение с таймером msdn.doubleclick

, поэтому у меня есть функция Timer, которая выглядит примерно так

private void doubleClickTimer_Tick(object sender, EventArgs e)
{
  milliseconds += 100;
  if (milliseconds >= SystemInformation.DoubleClickTime)
  {
    doubleClickTimer_.Stop();
    if (isDoubleClick)
      executeDoubleClick();
    else
      ExecuteSingleClick();
    isFirstClick = true;
    isDoubleClick = false;
   }
}

и это работает нормально, но в ExecuteSingleClick мне нужен MouseEventArgs e, но все, что у меня есть, это EventArgs e из функции doubleClickTimer, есть ли способ получить MouseEventArgs из doubleClickTimer, чтобы я мог написатьэто:

ExecuteSingleClick(MouseEventArgs e)
{
   MouseButton button = e.button;
   ....
}

1 Ответ

1 голос
/ 03 августа 2011

Перед запуском таймера установите для его свойства тега параметр mouseeventargs (e). Затем вы можете использовать это в обратном вызове события timer.tick (передать его в функции execute (double) click).

...