Практическое руководство. Активация событий меню для кнопок панели инструментов
Заметка
Элемент управления ToolStrip заменяет и добавляет функции в элемент управления ToolBar; однако элемент управления ToolBar сохраняется как для обратной совместимости, так и для дальнейшего использования, если вы выберете.
Если в Windows Form есть элемент управления ToolBar с кнопками панели инструментов, вы захотите узнать, какую кнопку нажимает пользователь.
При событии ButtonClick управляющего элемента ToolBar можно оценить свойство Button класса ToolBarButtonClickEventArgs. В приведенном ниже примере отображается окно сообщения, указывающее, какая кнопка была нажата. Дополнительные сведения см. в MessageBox.
В приведенном ниже примере предполагается, что элемент управления ToolBar добавлен в форму Windows.
Для обработки события Click на панели инструментов
В процедуре добавьте кнопки панели инструментов в элемент управления 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); }
Добавьте обработчик событий для события ButtonClick элемента управления ToolBar. Используйте инструкцию переключения регистра и класс ToolBarButtonClickEventArgs, чтобы определить, какая кнопка панели инструментов была нажата. На основе этого отобразится соответствующее окно сообщения.
Заметка
Поле сообщения используется исключительно в качестве заполнителя в этом примере. Вы можете добавить другой код для выполнения при нажатии кнопок панели инструментов.
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; } }
См. также
.NET Desktop feedback