TaskBarButton鼠标中键事件

时间:2013-08-13 02:50:28

标签: c# winforms events mouse taskbar

我有一个带按钮的TaskBar。在TaskBar有很多事件,但点击一个按钮只有一个事件。

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

我需要一个按钮的事件按下TaskBar鼠标中键。

类似

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

仅限任务栏

我知道这个例子。我做到了问题是任务栏的事件。我需要在此TaskBar

上提供的按钮上发生一个事件

1 个答案:

答案 0 :(得分: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");
    }
}