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