Procedura: individuare il pannello selezionato nel controllo StatusBar Windows Form
Importante |
---|
Benché i controlli StatusStrip e ToolStripStatusLabel sostituiscano i controlli StatusBar e StatusBarPanel delle versioni precedenti aggiungendo funzionalità, i controlli StatusBar e StatusBarPanel vengono mantenuti per compatibilità con le versioni precedenti e per utilizzo futuro se lo si desidera. |
Per programmare il controllo Controllo StatusBar (Windows Form) in modo da rispondere ai clic dell'utente, utilizzare un'istruzione case all'interno dell'evento PanelClick. L'evento contiene un argomento, l'argomento del pannello, che include un riferimento all'oggetto selezionato StatusBarPanel. Utilizzando questo riferimento, è possibile determinare l'indice del pannello selezionato ed eseguire la programmazione di conseguenza.
Nota
Verificare che la proprietà ShowPanels del controllo StatusBar sia impostata su true.
Per individuare il pannello selezionato
Nel gestore eventi PanelClick utilizzare un'istruzione Select Case (in Visual Basic) oppure switch case (Visual C# o Visual C++) per determinare quale pannello è stato selezionato esaminando l'indice del pannello selezionato negli argomenti dell'evento.
Per l'esempio di codice riportato di seguito è necessario che sul form siano presenti un controllo StatusBar, StatusBar1 e due oggetti StatusBarPanel, StatusBarPanel1 e StatusBarPanel2.
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++) Inserire il codice seguente nel costruttore del form per registrare il gestore eventi.
this.statusBar1.PanelClick += new System.Windows.Forms.StatusBarPanelClickEventHandler (this.statusBar1_PanelClick);
this->statusBar1->PanelClick += gcnew System::Windows::Forms::StatusBarPanelClickEventHandler (this, &Form1::statusBar1_PanelClick);
Vedere anche
Attività
Procedura: impostare la dimensione dei pannelli della barra di stato
Procedura dettagliata: aggiornamento delle informazioni sulla barra di stato in fase di esecuzione