private void OnIntervalElapsed(object sender, EventArgs arguments)
 {
     _intervalElapsedCallCount++;
     if (_intervalElapsedCallCount < NumberOfIntervals)
     {
         return;
     }
     _threadPoolTimer.Stop();
     EndTime = DateTime.Now;
     _resetEvent.Set();
 }
Esempio n. 2
0
        private void Timer_Tick(object sender, EventArgs e)
        {
            if (AppData.IsSoundEnabled == true)
            {
                if (gongTimeSpans.Any(t => AppData.ActualTimeSpan == t))
                {
                    App.Current.GongSound.Play();
                }
                else if (AppData.ActualTimeSpan <= TimeSpan.FromSeconds(3))
                {
                    App.Current.BeepSound.Play();
                }
            }

            if (AppData.ActualTimeSpan <= gongTimeSpans[gongTimeSpans.Length - 2] && Sb_Blinking.GetCurrentState() == ClockState.Stopped)
            {
                Sb_Blinking.Begin();
            }

            if (AppData.ActualTimeSpan == TimeSpan.Zero)
            {
                timer.Stop();
            }
            else if (AppData.ActualTimeSpan <= TimeSpan.Zero)
            {
                timer.Stop();
                return;
            }

            TB_Hours.Text   = AppData.ActualTimeSpan.Hours.ToString("D2");
            TB_Minutes.Text = AppData.ActualTimeSpan.Minutes.ToString("D2");
            TB_Seconds.Text = AppData.ActualTimeSpan.Seconds.ToString("D2");

            if (AppData.ActualTimeSpan != TimeSpan.Zero)
            {
                AppData.ActualTimeSpan -= TimeSpan.FromSeconds(1);
            }
        }
        private void RemoveTimer()
        {
            // Call if we don't need the timer anymore.
#if NETFX_CORE || WINDOWS_PHONE
            if (timer != null)
            {
                timer.Cancel();
                timer = null;
            }
#else
            if (timer != null)
            {
                timer.Stop();
                timer = null;
            }
#endif // NETFX_CORE
        }