TaskBarButton鼠标中键事件

本文关键字:事件 鼠标中键 TaskBarButton | 更新日期: 2023-09-27 18:27:36

我有一个带按钮的任务栏。任务栏上有很多事件,但单击按钮时只有一个事件。

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

我需要一个事件到一个按钮按下任务栏鼠标中键。

类似的东西

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

仅任务栏

我知道这个例子。我做到了。问题是任务栏的事件。我需要此任务栏上提供的按钮的事件

TaskBarButton鼠标中键事件

e.Button的类型不是MouseButtons。其类型为ToolBarButton。因此,它引用了工具栏上单击的位置,而不是鼠标上用于单击的位置。

工具栏按钮

如果您需要处理单击了哪个工具栏按钮,那么请参考此示例来使用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事件添加一个事件处理程序来捕获单击的鼠标按钮。

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