Sdílet prostřednictvím


Postupy: Aktivace událostí nabídky pro tlačítka panelu nástrojů

Poznámka:

Ovládací prvek ToolStrip nahrazuje a přidává funkce do ovládacího prvku ToolBar; ovládací prvek ToolBar je však zachován pro zpětnou kompatibilitu i budoucí použití, pokud zvolíte.

Pokud má formulář Windows Form ovládací prvek ToolBar s tlačítky panelu nástrojů, budete chtít vědět, na které tlačítko uživatel klikne.

V ButtonClick události ovládacího prvku ToolBar můžete vyhodnotit vlastnost Button třídy ToolBarButtonClickEventArgs. V následujícím příkladu se zobrazí okno se zprávou, které označuje, na které tlačítko bylo kliknuto. Podrobnosti najdete v MessageBox.

Následující příklad předpokládá, že ovládací prvek ToolBar byl přidán do formuláře Windows.

Zpracování události Kliknutí na panelu nástrojů

  1. V postupu přidejte tlačítka panelu nástrojů do ovládacího prvku ToolBar.

    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->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. Přidejte obslužnou rutinu pro událost ToolBar ovládacího prvku ButtonClick. Pomocí podmínkového příkazu switch a třídy ToolBarButtonClickEventArgs určete tlačítko panelu nástrojů, na které bylo kliknuto. Na základě toho zobrazte příslušné pole zprávy.

    Poznámka:

    Pole se zprávou se v tomto příkladu používá výhradně jako zástupný symbol. Po kliknutí na tlačítka panelu nástrojů můžete přidat další kód, který se má spustit.

    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->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;
          }
       }
    

Viz také