Porady: ustalanie, który panel został kliknięty w formancie StatusBar formularzy systemu Windows
Ważne
Kontrolki StatusStrip i ToolStripStatusLabel zastępują i dodają funkcje do StatusBar kontrolek i StatusBarPanel , StatusBar jednak kontrolki i StatusBarPanel są zachowywane zarówno w celu zachowania zgodności z poprzednimi wersjami, jak i użycia w przyszłości, jeśli wybierzesz.
Aby zaprogramować kontrolkę Kontrolka StatusBar w celu reagowania na kliknięcia użytkownika, użyj instrukcji case w ramach PanelClick zdarzenia. Zdarzenie zawiera argument (argument panelu), który zawiera odwołanie do klikniętego StatusBarPanelelementu . Korzystając z tego odwołania, można określić indeks klikniętego panelu i odpowiednio programować.
Uwaga
Upewnij się, że StatusBar właściwość kontrolki jest ustawiona ShowPanels na true
.
Aby określić, który panel został kliknięty
W procedurze PanelClick obsługi zdarzeń użyj
Select Case
instrukcji (w Visual Basic) lubswitch case
(Visual C# lub Visual C++), aby określić, który panel został kliknięty, sprawdzając indeks klikniętego panelu w argumentach zdarzeń.Poniższy przykład kodu wymaga obecności w formularzu StatusBar kontrolki ,
StatusBar1
i dwóch StatusBarPanel obiektówStatusBarPanel1
iStatusBarPanel2
.Private Sub StatusBar1_PanelClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.StatusBarPanelClickEventArgs) Handles StatusBar1.PanelClick Select Case StatusBar1.Panels.IndexOf(e.StatusBarPanel) Case 0 MessageBox.Show("You have clicked Panel One.") Case 1 MessageBox.Show("You have clicked Panel Two.") End Select End Sub
private void statusBar1_PanelClick(object sender, System.Windows.Forms.StatusBarPanelClickEventArgs e) { switch (statusBar1.Panels.IndexOf(e.StatusBarPanel)) { case 0 : MessageBox.Show("You have clicked Panel One."); break; case 1 : MessageBox.Show("You have clicked Panel Two."); break; } }
private: void statusBar1_PanelClick(System::Object ^ sender, System::Windows::Forms::StatusBarPanelClickEventArgs ^ e) { switch (statusBar1->Panels->IndexOf(e->StatusBarPanel)) { case 0 : MessageBox::Show("You have clicked Panel One."); break; case 1 : MessageBox::Show("You have clicked Panel Two."); break; } }
(Visual C#, Visual C++) Umieść następujący kod w konstruktorze formularza, aby zarejestrować procedurę obsługi zdarzeń.
this.statusBar1.PanelClick += new System.Windows.Forms.StatusBarPanelClickEventHandler (this.statusBar1_PanelClick);
this->statusBar1->PanelClick += gcnew System::Windows::Forms::StatusBarPanelClickEventHandler (this, &Form1::statusBar1_PanelClick);
Zobacz też
.NET Desktop feedback
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla