public void CancelTest() { var called = false; var sw = new Stopwatch(); ManualResetEvent mre = new ManualResetEvent(false); Action act = new Action(() => { called = true; sw.Stop(); mre.Set(); }); var delayedAction = new DelayedAction(act); sw.Start(); // dont await the next call, so we can call "Cancel" delayedAction.RunWithDelayAsync(2000); delayedAction.Cancel(); // Set timeout to 3 seconds, so we dont wait forever. var signaled = mre.WaitOne(3000); Assert.IsFalse(called); Assert.IsFalse(signaled); Assert.IsTrue(sw.IsRunning); }
private void panelTitle_MouseEnter(object sender, EventArgs e) { PanelHover = true; CancelHide(); if (_button == null) { return; } if (_delayedActionPreview.Active) { _delayedActionPreview.Cancel(); } _delayedActionPreview.Init(delegate() { ShowLivePreview(_button, true); }, WindowsConstants.TaskbarLivePreviewDelay); OnCustomEnter(sender, TooltipEventArgs.From(_button)); }
void StopSearch() { CancelSearch(); delayedSearch.Cancel(); }