Пошаговое руководство. Обновление строки состояния во время выполнения
Important
StatusStrip И ToolStripStatusLabel элементы управления заменяют и расширяют функциональные возможности для StatusBar и StatusBarPanel управляет; Однако StatusBar и StatusBarPanel элементы управления сохраняются для обеспечения обратной совместимости и использования в будущем, если вы Выберите этот параметр.
Часто программа требует динамического обновления содержимого панелей строки состояния в среде выполнения с учетом изменений в состоянии приложения или других взаимодействий с пользователем. Это обычный способ сообщить пользователям о том, что CAPS LOCK, NUM LOCK или SCROLL LOCK включен, или сообщить ему дату или время в удобном формате.
В следующем примере используется экземпляр StatusBarPanel класса для размещения часов.
Получение строки состояния, готовой для обновления
Создание новой формы Windows Forms.
Добавьте элемент управления StatusBar в форму. Подробную информацию см. в разделе Практическое руководство. Добавление элементов управления в Windows Forms.
Добавьте панель строки состояния для вашей StatusBar элемента управления. Подробную информацию см. в разделе Практическое руководство. Добавление панелей в элемент управления StatusBar.
Для StatusBar вы добавили в форму элемента управления значение ShowPanels свойства
true
.Добавление форм Windows Timer в форму компонент.
Note
Windows Forms System.Windows.Forms.Timer компонент разработан для среды Windows Forms. Если вам требуется таймер, подходящий для серверной среды, см. раздел Общие сведения о серверных таймерах.
Задайте для свойства Enabled значение
true
.
Реализация таймера для обновления строки состояния
Вставьте следующий код в обработчик событий Timer компонент для обновления панели StatusBar элемента управления.
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.
Note
Часы появятся в строке состояния примерно через 30 секунд. Это необходимо для того, чтобы время отображалось максимально точно. И наоборот, чтобы часы появились быстрее, можно уменьшить значение Interval заданному на шаге 7 в предыдущей процедуре.