ToolBar::ToolBarButtonCollection::IndexOf Method (ToolBarButton^)

 

Retrieves the index of the specified toolbar button in the collection.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public:
int IndexOf(
	ToolBarButton^ button
)

Parameters

button
Type: System.Windows.Forms::ToolBarButton^

The ToolBarButton to locate in the collection.

Return Value

Type: System::Int32

The zero-based index of the item found in the collection; otherwise, -1.

This method gives you easy access to the index value of the ToolBarButton in the collection. The index value allows you to easily determine which ToolBarButton was clicked on the ToolBar. The ToolBarButton clicked can be determined by evaluating the IndexOf value of the ToolBarButtonClickEventArgs::Button property.

The following code example creates a ToolBar and three ToolBarButton controls. The toolbar buttons are assigned to the button collection, the collection is assigned to the toolbar, and the toolbar is added to the form. On the ButtonClick event of the toolbar, the Button property of the ToolBarButtonClickEventArgs is evaluated, and the appropriate dialog box opened. This code requires that a Form, an OpenFileDialog, a SaveFileDialog, and a PrintDialog have all been created.

public:
   void InitializeMyToolBar()
   {
      // Create and initialize the ToolBar and ToolBarButton controls.
      toolBar1 = gcnew ToolBar;
      ToolBarButton^ toolBarButton1 = gcnew ToolBarButton;
      ToolBarButton^ toolBarButton2 = gcnew ToolBarButton;
      ToolBarButton^ toolBarButton3 = gcnew ToolBarButton;

      // Set the Text properties of the ToolBarButton controls.
      toolBarButton1->Text = "Open";
      toolBarButton2->Text = "Save";
      toolBarButton3->Text = "Print";

      // Add the ToolBarButton controls to the ToolBar.
      toolBar1->Buttons->Add( toolBarButton1 );
      toolBar1->Buttons->Add( toolBarButton2 );
      toolBar1->Buttons->Add( toolBarButton3 );

      // Add the event-handler delegate.
      toolBar1->ButtonClick += gcnew ToolBarButtonClickEventHandler(
         this, &Form1::toolBar1_ButtonClick );

      // Add the ToolBar to the Form.
      Controls->Add( toolBar1 );
   }

private:
   void toolBar1_ButtonClick(
      Object^ sender,
      ToolBarButtonClickEventArgs^ e )
   {
      // Evaluate the Button property to determine which button was clicked.
      switch ( toolBar1->Buttons->IndexOf( e->Button ) )
      {
         case 0:
            openFileDialog1->ShowDialog();
            // Insert additional code here to open the file.
            break;
         case 1:
            saveFileDialog1->ShowDialog();
            // Insert additional code here to save the file.
            break;
         case 2:
            printDialog1->ShowDialog();
            // Insert additional code here to print the file.    
            break;
      }
   }

.NET Framework
Available since 1.1
Return to top
Show: