Поделиться через


Пошаговое руководство. Обновление строки состояния во время выполнения

Важно!

Элементы управления StatusStrip и ToolStripStatusLabel заменяют элементы управления StatusBar и StatusBarPanel и расширяют их функциональные возможности; однако при необходимости элементы управления StatusBar и StatusBarPanel можно сохранить для обратной совместимости и использования в будущем.

Часто при изменении состояния приложения или при вмешательстве пользователя программа требует динамическое обновление содержимого панелей строки состояния во время выполнения. Обычно это используется для того, чтобы оповестить пользователя о нажатии клавиши CAPS LOCK, NUM LOCK или SCROLL LOCK или в удобном виде представлять сведения о дате или времени.

В следующем примере будет использовать экземпляр класса StatusBarPanel для размещения часов.

Чтобы подготовить строку состояния к обновлению

  1. Создание новой формы Windows Forms

  2. Добавьте элемент управления StatusBar в форму. Дополнительные сведения см. в разделе Практическое руководство. Добавление элементов управления в формы Windows Forms..

  3. Добавьте панель строки состояния в элемент управления StatusBar. Дополнительные сведения см. в разделе Практическое руководство. Добавление панелей в элемент управления StatusBar.

  4. Свойству ShowPanels элемента управления, добавленного в форму StatusBar, присвойте значение true.

  5. Добавьте компонент Windows Forms Timer в форму.

    Примечание

    Компонент Windows Forms System.Windows.Forms.Timer предназначен для среды Windows Forms.Если требуется таймер для серверной среды, см. раздел Знакомство с серверными таймерами.

  6. Установите для свойства Enabled значение true.

  7. Установите свойство Interval элемента Timer в значение 30000.

    Примечание

    Для свойства Interval компонента Timer задано значение "30 секунд" (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

Ссылки

Общие сведения об элементе управления StatusBar (Windows Forms)

StatusBar

ToolStripStatusLabel