Udostępnij za pośrednictwem


Instrukcja: jak aktualizować informacje na pasku stanu podczas działania programu

Ważny

Kontrolki StatusStrip i ToolStripStatusLabel zastępują i dodają funkcje do kontrolek StatusBar i StatusBarPanel; jednak kontrolki StatusBar i StatusBarPanel są zachowywane w celu zachowania zgodności z poprzednimi wersjami i użycia w przyszłości, jeśli wybierzesz.

Często program będzie wymagał aktualizacji zawartości paneli paska stanu dynamicznie podczas działania, na podstawie zmian stanu aplikacji lub innej interakcji z użytkownikiem. Jest to typowy sposób sygnalizowania użytkownikom, że klucze, takie jak CAPS LOCK, NUM LOCK lub SCROLL LOCK są włączone, lub aby podać datę lub zegar jako wygodne odwołanie.

W poniższym przykładzie użyjesz wystąpienia klasy StatusBarPanel do hostowania zegara.

Aby przygotować pasek stanu do aktualizacji

  1. Utwórz nowy formularz systemu Windows.

  2. Dodaj kontrolkę StatusBar do formularza. Aby uzyskać szczegółowe informacje, zobacz Jak: Dodawać Kontrolki do Formularzy Windows.

  3. Dodaj panel paska stanu do kontrolki StatusBar. Aby uzyskać szczegółowe informacje, zobacz Instrukcje: dodawanie paneli do kontrolki StatusBar.

  4. Dla kontrolki StatusBar dodanej do formularza ustaw właściwość ShowPanels na wartość true.

  5. Dodaj komponent Windows Forms Timer do formularza.

    Notatka

    Składnik windows Forms System.Windows.Forms.Timer jest przeznaczony dla środowiska Windows Forms. Jeśli potrzebujesz czasomierza odpowiedniego dla środowiska serwera, zobacz Introduction to Server-Based Timers.

  6. Ustaw właściwość Enabled na wartość true.

  7. Ustaw właściwość Interval elementu Timer na wartość 30000.

    Notatka

    Właściwość Interval składnika Timer jest ustawiona na 30 sekund (30 000 milisekund), aby upewnić się, że dokładny czas jest odzwierciedlany w wyświetlonym czasie.

Aby zaimplementować czasomierz w celu zaktualizowania paska stanu

  1. Wstaw następujący kod do programu obsługi zdarzeń składnika Timer, aby zaktualizować panel kontrolki 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();  
      }  
    

    Na tym etapie możesz uruchomić aplikację i obserwować zegar uruchomiony na panelu paska stanu.

Aby przetestować aplikację

  1. Debuguj aplikację i naciśnij F5, aby ją uruchomić. Aby uzyskać szczegółowe informacje na temat debugowania, zobacz debugowanie w programie Visual Studio.

    Notatka

    Wyświetlenie zegara na pasku stanu potrwa około 30 sekund. To ma na celu uzyskanie najdokładniejszego czasu. Z drugiej strony, aby zegar był wyświetlany wcześniej, można zmniejszyć wartość właściwości Interval ustawionej w kroku 7 w poprzedniej procedurze.

Zobacz też