Como: Determinar qual painel de controle do Windows Forms StatusBar foi clicado.
Importante |
---|
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çã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