2011-08-03 56 views
0

当我需要点击和双击区分,我已经使用定时器该解决方案msdn.doubleclick问题与定时器使用鼠标双击

所以我有一个计时器功能谁看起来像这样

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,但我有的是从doubleClickTimer函数的EventArgs e,有没有办法从doubleClickTimer得到MouseEventArgs,所以我可以这样写:

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

回答

1

在启动计时器之前,请将其标记属性设置为mouseeventargs参数(e)。然后,您可以在timer.tick事件回调中使用它(将它传递给您的执行(双击)功能)。