Compartilhar via


Como: Determinar qual painel do controle do Windows Forms StatusBar foi clicado

Observação importante:

O StatusStrip e ToolStripStatusLabel controles substituir e adicionar funcionalidade para o StatusBar e StatusBarPanel Controla; no entanto, o StatusBar e StatusBarPanel controles são mantidas para compatibilidade com versões anteriores e para uso futuro, se você escolher.

To programa the StatusBar controle (Windows Forms) controle para responder a cliques do usuário, use uma demonstrativo caso dentro do PanelClick evento. O evento contém um argumento (o argumento do painel), que contém uma referência à clicados StatusBarPanel. Usando essa referência, você pode determinar o índice do painel clicado e programar adequadamente.

Observação:

Certifique-se de que o StatusBar do controle ShowPanels propriedade é conjunto para true.

Para determinar qual painel foi clicado

  • No PanelClick manipulador de eventos, use um Select Case (em Visual Basic) ou switch case (Visual C# ou Visual C++) demonstrativo para determinar qual painel foi clicado, examinando o índice do painel clicado nos argumentos do evento.

    O exemplo de código a seguir exige a presença, no formulário, de um StatusBar controle, StatusBar1e dois StatusBarPanel objetos, 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++) Coloque o código a seguir no construtor do formulário para registrar o manipulador de eventos.

    this.statusBar1.PanelClick += new 
       System.Windows.Forms.StatusBarPanelClickEventHandler 
       (this.statusBar1_PanelClick);
    
    this->statusBar1->PanelClick += gcnew
       System::Windows::Forms::StatusBarPanelClickEventHandler
       (this, &Form1::statusBar1_PanelClick);
    

Consulte também

Tarefas

Como: Defina o dimensionar dos painéis da BAR de status

Demonstra Passo a passo: Atualizando BAR de status informações em time de execução

Referência

StatusBar controle visão geral (Windows Forms)

StatusBar

ToolStripStatusLabel