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
Utwórz nowy formularz systemu Windows.
Dodaj kontrolkę StatusBar do formularza. Aby uzyskać szczegółowe informacje, zobacz Jak: Dodawać Kontrolki do Formularzy Windows.
Dodaj panel paska stanu do kontrolki StatusBar. Aby uzyskać szczegółowe informacje, zobacz Instrukcje: dodawanie paneli do kontrolki StatusBar.
Dla kontrolki StatusBar dodanej do formularza ustaw właściwość ShowPanels na wartość
true
.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.
Ustaw właściwość Enabled na wartość
true
.
Aby zaimplementować czasomierz w celu zaktualizowania paska stanu
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ę
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ż
.NET Desktop feedback