2013-08-13 1 views
2

У меня есть TaskBar с кнопками. в TaskBar есть много событий, но есть одно событие одним нажатием кнопки.TaskBarButton средняя кнопка мыши событие

TaskBar.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.TaskBarButtonClick); 

Мне нужно событие, чтобы нажать кнопку средней кнопки мыши TaskBar.

что-то вроде

if (e.Button == MouseButtons.Middle) 
     { 
      MessageBox.Show("Middle"); 
     } 

только панель задач

Я знаю, что этот пример. Я это сделал. проблема в том, что событие для панели задач. Мне нужно событие для кнопки, представленной на этой TaskBar

+0

Какой «контроль» является вашим «TaskBar»? –

ответ

1

e.Button не относится к типу MouseButtons. Он имеет тип ToolBarButton. Таким образом, он ссылается на местоположение на панели инструментов, на которую нажимается, а не на местоположение на мыши, используемое для создания клика.

Кнопка панели инструментов

Если вам нужно работать, какая кнопка на панели инструментов щелкают затем ссылаться this example для использования ToolBarButtonClickEventHandler работ.

//add some buttons. 
TaskBar.Buttons.Add(new ToolBarButton()); //index 0 
TaskBar.Buttons.Add(new ToolBarButton()); //index 1 

//add the handler 
TaskBar.ButtonClick += new ToolBarButtonClickEventHandler (
    this.taskbar_ButtonClick); 

private void taskbar_ButtonClick (Object sender, ToolBarButtonClickEventArgs e) 
{ 
    // Evaluate the Button property to determine which button was clicked. 
    switch(TaskBar.Buttons.IndexOf(e.Button)) 
    { 
     case 0: 
      //Whatever you want to do when the 1st toolbar button is clicked 
      break; 
     case 1: 
      //Whatever you want to do when the 2nd toolbar button is clicked 
      break; 
    } 
} 

Кнопка мыши

Вы можете добавить обработчик событий для MouseDown события в ловушку Mouse button, которая была нажата.

TaskBar.MouseDown += new MouseEventHandler(this.taskbar_MouseDown); 

private void taskbar_MouseDown(object sender, MouseEventArgs e) 
{ 
    // Determine which mouse button is clicked. 
    if(e.Button == MouseButtons.Middle) 
    { 
     MessageBox.Show("Middle"); 
    } 
} 
+0

все в порядке, но мне нужно среднее событие нажатия кнопки мыши на панели задач кнопки. Эти два события я знаю. Средняя средняя кнопка мыши - это кнопка, расположенная на панели задач – Pavel

+0

@Pavel, пожалуйста, напишите код, объявляющий панель задач и все кнопки и обработчики. –