Практическое руководство. Наблюдение за серверными таймерами
Обновлен: Ноябрь 2007
Компонент Timer периодически генерирует событие Elapsed через заданный промежуток времени. Это событие можно использовать для выполнения необходимых действий по обработке. Например, имеется приложение электронной коммерции, непрерывно регистрирующее в базе данных заказы на поставку. Служба, составляющая наряды на доставку, обрабатывает заказы пакетами, а не по отдельности. Для настройки запуска обработки пакетов через каждые 30 минут можно воспользоваться таймером.
Создание обработчика для события Elapsed
Создайте экземпляр компонента Timer и задайте необходимые для его работы свойства. Дополнительные сведения см. в разделе Практическое руководство. Создание экземпляров серверных таймеров.
Привяжите обработчик событий myTimer_Elapsed к событию Elapsed. Дополнительные сведения см. в разделе Прием событий. Код должен выглядеть следующим образом:
AddHandler myTimer.Elapsed, New _ System.Timers.ElapsedEventHandler(AddressOf Me.myTimer_Elapsed)
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(myTimer_Elapsed);
Примечание. Дополнительные сведения о данном синтаксисе см. в разделе Создание обработчиков событий в Windows Forms.
Создайте процедуру myTimer_Elapsed и напишите код для обработки события.
Private Sub myTimer_Elapsed(ByVal sender As System.Object, ByVal e As System.Timers.ElapsedEventArgs) System.Windows.Forms.MessageBox.Show("Elapsed!", _ "Timer Event Raised!") End Sub
private void myTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { System.Windows.Forms.MessageBox.Show("Elapsed!", "Timer Event Raised!"); }
В следующем коде показан пример создания компонента Timer, генерирующего событие каждые пять секунд и выдающего сообщение о наступлении события:
Private Sub CreateTimer() Dim Timer1 As New System.Timers.Timer() Timer1.Interval = 5000 Timer1.Enabled = True AddHandler Timer1.Elapsed, _ New System.Timers.ElapsedEventHandler(AddressOf Me.Timer1_Elapsed) End Sub Private Sub Timer1_Elapsed(ByVal sender As System.Object, _ ByVal e As System.Timers.ElapsedEventArgs) System.Windows.Forms.MessageBox.Show("Elapsed!", "Timer Event Raised!") End Sub
private void CreateTimer() { System.Timers.Timer Timer1 = new System.Timers.Timer(); Timer1.Enabled = true; Timer1.Interval = 5000; Timer1.Elapsed += new System.Timers.ElapsedEventHandler(Timer1_Elapsed); } private void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { System.Windows.Forms.MessageBox.Show("Elapsed!", "Timer Event Raised!"); }
См. также
Задачи
Практическое руководство. Создание экземпляров серверных таймеров
Основные понятия
Знакомство с серверными таймерами
Ссылки
Общие сведения о компоненте Timer (Windows Forms)