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

Observação importanteImportante

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

Programa a Controle StatusBar (Windows Forms) controle para responder a cliques do usuário, use uma instrução case dentro do PanelClick evento. O evento contém um argumento (o argumento do painel), que contém uma referência para o clicados StatusBarPanel. Usando essa referência, você pode determinar o índice do painel clicado e programar adequadamente.

ObservaçãoObservação

Certifique-se de que o StatusBar do controle ShowPanels for definida como 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++) a instrução para determinar qual painel foi clicado examinando o índice do painel clicado em argumentos de 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 seguinte código 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 tamanho dos painéis da barra de Status

Demonstra Passo a passo: Atualizando informações da barra de Status em tempo de execução

Referência

Visão geral do controle StatusBar (Windows Forms)

StatusBar

ToolStripStatusLabel