Gewusst wie: Auslösen von Menüereignissen für Symbolleisten-Schaltflächen

Tipp

Obwohl das ToolStrip-Steuerelement das ToolBar-Steuerelement ersetzt und funktionell erweitert, wird das ToolBar-Steuerelement sowohl aus Gründen der Abwärtskompatibilität als auch, falls gewünscht, für die zukünftige Verwendung beibehalten.

Wenn das Windows Form ein ToolBar-Steuerelement mit Symbolleisten-Schaltflächen enthält, werden Sie wissen möchten, auf welche Schaltfläche der Benutzer klickt.

Im ButtonClick-Ereignis des ToolBar-Steuerelements können Sie die Button-Eigenschaft der ToolBarButtonClickEventArgs-Klasse auswerten. Im folgenden Beispiel wird ein Meldungsfeld angezeigt, das angibt, auf welche Schaltfläche geklickt wurde. Ausführliche Informationen finden Sie unter MessageBox-Klasse.

Im nachfolgenden Beispiel wird davon ausgegangen, dass einem Windows Form ein ToolBar-Steuerelement hinzugefügt wurde.

So behandeln Sie das Click-Ereignis für eine Symbolleiste

  1. Fügen Sie dem ToolBar-Steuerelement in einer Prozedur Symbolleisten-Schaltflächen hinzu.

    Public Sub ToolBarConfig()
    ' Instantiate the toolbar buttons, set their Text properties
    ' and add them to the ToolBar control.
       ToolBar1.Buttons.Add(New ToolBarButton("One"))
       ToolBar1.Buttons.Add(New ToolBarButton("Two"))
       ToolBar1.Buttons.Add(New ToolBarButton("Three"))
    ' Add the event handler delegate.
       AddHandler ToolBar1.ButtonClick, AddressOf Me.ToolBar1_ButtonClick
    End Sub
    
    public void ToolBarConfig() 
    {
       toolBar1.Buttons.Add(new ToolBarButton("One"));
       toolBar1.Buttons.Add(new ToolBarButton("Two"));
       toolBar1.Buttons.Add(new ToolBarButton("Three"));
    
       toolBar1.ButtonClick += 
          new ToolBarButtonClickEventHandler(this.toolBar1_ButtonClick);
    }
    
    public void ToolBarConfig() 
    {
       toolBar1.get_Buttons().Add(new ToolBarButton("One"));
       toolBar1.get_Buttons().Add(new ToolBarButton("Two"));
       toolBar1.get_Buttons().Add(new ToolBarButton("Three"));
    
       toolBar1.add_ButtonClick(new ToolBarButtonClickEventHandler(this.toolBar1_ButtonClick));
    }
    
    public:
       void ToolBarConfig()
       {
          toolBar1->Buttons->Add(gcnew ToolBarButton("One"));
          toolBar1->Buttons->Add(gcnew ToolBarButton("Two"));
          toolBar1->Buttons->Add(gcnew ToolBarButton("Three"));
    
          toolBar1->ButtonClick += 
             gcnew ToolBarButtonClickEventHandler(this,
             &Form1::toolBar1_ButtonClick);
       }
    
  2. Fügen Sie einen Ereignishandler für das ButtonClick-Ereignis des ToolBar-Steuerelements hinzu. Ermitteln Sie mit einer case/switch-Anweisung und mit der ToolBarButtonClickEventArgs-Klasse die Symbolleisten-Schaltfläche, auf die geklickt wurde. Zeigen Sie ein entsprechendes Meldungsfenster an.

    Tipp

    Im vorliegenden Beispiel wird ein Meldungsfenster lediglich als Platzhalter verwendet. Sie können bei Bedarf weiteren, nach dem Klicken auf eine Schaltfläche auszuführenden Code hinzufügen.

    Protected Sub ToolBar1_ButtonClick(ByVal sender As Object, _
    ByVal e As ToolBarButtonClickEventArgs)
    ' Evaluate the Button property of the ToolBarButtonClickEventArgs
    ' to determine which button was clicked.
       Select Case ToolBar1.Buttons.IndexOf(e.Button)
         Case 0
           MessageBox.Show("First toolbar button clicked")
         Case 1
           MessageBox.Show("Second toolbar button clicked")
         Case 2
           MessageBox.Show("Third toolbar button clicked")
       End Select
    End Sub
    
    protected void toolBar1_ButtonClick(object sender,
    ToolBarButtonClickEventArgs e)
    {
       // Evaluate the Button property of the ToolBarButtonClickEventArgs
       // to determine which button was clicked.
       switch (toolBar1.Buttons.IndexOf(e.Button))
       {
          case 0 :
             MessageBox.Show("First toolbar button clicked");
             break;
          case 1 :
             MessageBox.Show("Second toolbar button clicked");
             break;
          case 2 :
             MessageBox.Show("Third toolbar button clicked");
             break;
       }
    }
    
    protected void toolBar1_ButtonClick(System.Object sender, ToolBarButtonClickEventArgs e) 
    {
       // Evaluate the Button property of the ToolBarButtonClickEventArgs
       // to determine which button was clicked.
       switch(toolBar1.get_Buttons().IndexOf(e.get_Button())) 
       {
          case 0 : 
             MessageBox.Show("First toolbar button clicked");
             break;
          case 1 : 
             MessageBox.Show("Second toolbar button clicked");
             break;
          case 2 : 
             MessageBox.Show("Third toolbar button clicked");
             break;
       }
    }
    
    protected:
       void toolBar1_ButtonClick(System::Object ^ sender,
          ToolBarButtonClickEventArgs ^ e)
       {
         // Evaluate the Button property of the ToolBarButtonClickEventArgs
         // to determine which button was clicked.
          switch (toolBar1->Buttons->IndexOf(e->Button))
          {
             case 0 :
                MessageBox::Show("First toolbar button clicked");
                break;
             case 1 :
                MessageBox::Show("Second toolbar button clicked");
                break;
             case 2 :
                MessageBox::Show("Third toolbar button clicked");
                break;
          }
       }
    

Siehe auch

Aufgaben

Gewusst wie: Hinzufügen von Schaltflächen zu einem ToolBar-Steuerelement

Gewusst wie: Definieren eines Symbols für eine Symbolleisten-Schaltfläche

Referenz

ToolBar

Weitere Ressourcen

ToolBar-Steuerelement (Windows Forms)