Пошаговое руководство. Обновление строки состояния во время выполнения
Важно!
Элементы управления StatusStrip и ToolStripStatusLabel заменяют элементы управления StatusBar и StatusBarPanel и расширяют их функциональные возможности; однако при необходимости элементы управления StatusBar и StatusBarPanel можно сохранить для обратной совместимости и использования в будущем.
Часто при изменении состояния приложения или при вмешательстве пользователя программа требует динамическое обновление содержимого панелей строки состояния во время выполнения. Обычно это используется для того, чтобы оповестить пользователя о нажатии клавиши CAPS LOCK, NUM LOCK или SCROLL LOCK или в удобном виде представлять сведения о дате или времени.
В следующем примере будет использовать экземпляр класса StatusBarPanel для размещения часов.
Чтобы подготовить строку состояния к обновлению
Создание новой формы Windows Forms
Добавьте элемент управления StatusBar в форму. Дополнительные сведения см. в разделе Практическое руководство. Добавление элементов управления в формы Windows Forms..
Добавьте панель строки состояния в элемент управления StatusBar. Дополнительные сведения см. в разделе Практическое руководство. Добавление панелей в элемент управления StatusBar.
Свойству ShowPanels элемента управления, добавленного в форму StatusBar, присвойте значение true.
Добавьте компонент Windows Forms Timer в форму.
Примечание
Компонент Windows Forms System.Windows.Forms.Timer предназначен для среды Windows Forms.Если требуется таймер для серверной среды, см. раздел Знакомство с серверными таймерами.
Установите для свойства Enabled значение true.
Установите свойство Interval элемента Timer в значение 30000.
Чтобы реализовать обновление таймера в строке состояния
Чтобы обновить панель элемента управления StatusBar, вставьте в обработчик событий компонента Timer следующий код.
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick StatusBar1.Panels(0).Text = Now.ToShortTimeString End Sub
private void timer1_Tick(object sender, System.EventArgs e) { statusBar1.Panels[0].Text = DateTime.Now.ToShortTimeString(); }
private: System::Void timer1_Tick(System::Object ^ sender, System::EventArgs ^ e) { statusBar1->Panels[0]->Text = DateTime::Now.ToShortTimeString(); }
Теперь все готово к запуску приложения. Необходимо понаблюдать за часами, работающими в панели строки состояния.
Чтобы проверить работу приложения, выполните следующие действия.
Запустите отладку приложения и нажмите клавишу F5 для запуска приложения. Дополнительные сведения об отладке см. в разделе Отладка в Visual Studio.
Примечание
Часы появятся в строке состояния примерно через 30 секунд.Это необходимо для отображения наиболее точного времени.С другой стороны, чтобы часы появились раньше, можно уменьшить значение свойства Interval, которое было задано на шаге 7 в предыдущей процедуры.
См. также
Задачи
Практическое руководство. Добавление панелей в элемент управления StatusBar
Ссылки
Общие сведения об элементе управления StatusBar (Windows Forms)