Timer.Tick Событие

Определение

Происходит по истечении заданного интервала таймера при условии, что таймер включен.

public event EventHandler Tick;

Тип события

Примеры

В следующем примере кода реализуется простой таймер интервала, который создает сигнал тревоги каждые пять секунд. При возникновении будильника MessageBox отображается количество запусков оповещения и выводится запрос на продолжение работы таймера.

public class Class1 {
    static System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
    static int alarmCounter = 1;
    static bool exitFlag = false;
 
    // This is the method to run when the timer is raised.
    private static void TimerEventProcessor(Object myObject,
                                            EventArgs myEventArgs) {
       myTimer.Stop();
 
       // Displays a message box asking whether to continue running the timer.
       if(MessageBox.Show("Continue running?", "Count is: " + alarmCounter, 
          MessageBoxButtons.YesNo) == DialogResult.Yes) {
          // Restarts the timer and increments the counter.
          alarmCounter +=1;
          myTimer.Enabled = true;
       }
       else {
          // Stops the timer.
          exitFlag = true;
       }
    }
 
    public static int Main() {
       /* Adds the event and the event handler for the method that will 
          process the timer event to the timer. */
       myTimer.Tick += new EventHandler(TimerEventProcessor);
 
       // Sets the timer interval to 5 seconds.
       myTimer.Interval = 5000;
       myTimer.Start();
 
       // Runs the timer, and raises the event.
       while(exitFlag == false) {
          // Processes all the events in the queue.
          Application.DoEvents();
       }
    return 0;
    }
 }

Комментарии

Assert Вызов метода в Debug классе из Tick события может не работать должным образом, так как отображение диалогового окна утверждения может привести к повторному вызову Tick события Windows. Рекомендуется воздержаться от тестирования утверждений в этом событии Writeи использовать вместо него методы , WriteIf, WriteLineили WriteLineIf .

Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.

Применяется к

Продукт Версии
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9