2010-05-30 77 views
1

在我的应用程序中,我捕获了一个DragOver事件,然后执行一个操作。我想在执行动作前等待半秒,如果拖动操作结束,则不应在该延迟后执行动作。我能想到的来实现此功能C#,引入DragOver延迟

唯一的办法是这样的:

Function DragOver Event 
    If TimerTimeReached Then 
     PerformDragAction 
    Else If Not TimerStarted 
     StartTimer 
    End 
End Function 

Function DragLeave Event 
    If TimerStarted 
     StopTimer 
    End 
End Function 

有没有执行此操作的更好的办法?

回答

1

它看起来不错,但DragOver事件发生多次?

我认为PerformDragAction应该移动到Timer事件处理程序。

+0

到达计时器后不会发生DragOver不是一个大问题。用户很可能会移动鼠标而不是保持静止,但即使事件未被重复触发,也可以使其工作。当达到延迟时,我可能会使用定时器回调自动触发事件,如果用户仍在拖动,它还需要继续执行拖动操作。 – user275587 2010-05-30 20:47:19