Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#,引入DragOver延迟_C#_Drag And Drop_Pseudocode - Fatal编程技术网

C#,引入DragOver延迟

C#,引入DragOver延迟,c#,drag-and-drop,pseudocode,C#,Drag And Drop,Pseudocode,在我的应用程序中,我捕获一个DragOver事件,然后执行一个操作。我想在执行操作之前等待半秒钟,如果拖动操作已结束,则在该延迟之后不应执行该操作 我能想到的实现此功能的唯一方法如下: Function DragOver Event If TimerTimeReached Then PerformDragAction Else If Not TimerStarted StartTimer End End Function Function Drag

在我的应用程序中,我捕获一个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

是否有更好的方法执行此操作?

看起来还可以,但DragOver事件是否发生多次


我认为PerformDragAction应该转移到计时器事件处理程序。

看起来还可以,但是DragOver事件是否会发生多次


我认为PerformDragAction应该转移到计时器事件处理程序。

到达计时器后DragOver不发生不是什么大问题。用户很可能会移动鼠标,而不是保持静止,但即使没有重复触发事件,也可以使其正常工作。当达到延迟时,我可能会自动触发带有计时器回调的事件,如果用户仍在拖动,它还需要继续执行拖动操作。到达计时器后没有发生拖动操作不是一个大问题。用户很可能会移动鼠标,而不是保持静止,但即使没有重复触发事件,也可以使其正常工作。当达到延迟时,我可能会使用计时器回调自动触发事件,如果用户仍在拖动,它还需要继续执行拖动操作。