2010-05-30 76 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