Procedure: Bepalen op welk deelvenster in het StatusBar-besturingselement van Windows Forms is geklikt

Belangrijk

De besturingselementen voor StatusStrip en ToolStripStatusLabel vervangen en toevoegen functionaliteit aan de besturingselementen StatusBar en StatusBarPanel; de besturingselementen voor StatusBar en StatusBarPanel worden echter bewaard voor zowel achterwaartse compatibiliteit als toekomstig gebruik, indien u kiest.

Gebruik een case-instructie in de gebeurtenis om de PanelClick te programmeren zodat deze reageert op klikken van gebruikers. De gebeurtenis bevat een argument (het paneelargument), dat een verwijzing bevat naar de StatusBarPanelwaarop is geklikt. Met behulp van deze verwijzing kunt u de index van het geklikte deelvenster bepalen en dienovereenkomstig programmeren.

Opmerking

Zorg ervoor dat de eigenschap StatusBar van het ShowPanels besturingselement is ingesteld op true.

Bepalen op welk deelvenster is geklikt

  1. Gebruik in de PanelClick gebeurtenis-handler een Select Case -instructie (in Visual Basic) of switch case (Visual C# of Visual C++) om te bepalen op welk deelvenster is geklikt door de index van het geklikte deelvenster in de gebeurtenisargumenten te bekijken.

    Het volgende codevoorbeeld vereist de aanwezigheid in het formulier van een besturingselement voor StatusBar, StatusBar1en twee StatusBarPanel objecten, StatusBarPanel1 en 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++) Plaats de volgende code in de constructor van het formulier om de gebeurtenis-handler te registreren.

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

Zie ook