示例#1
0
        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);
        }
示例#2
0
        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));
        }
示例#3
0
 void StopSearch()
 {
     CancelSearch();
     delayedSearch.Cancel();
 }