我有一个带按钮的TaskBar。在TaskBar有很多事件,但点击一个按钮只有一个事件。
TaskBar.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.TaskBarButtonClick);
我需要一个按钮的事件按下TaskBar鼠标中键。
类似
if (e.Button == MouseButtons.Middle)
{
MessageBox.Show("Middle");
}
仅限任务栏
我知道这个例子。我做到了问题是任务栏的事件。我需要在此TaskBar
上提供的按钮上发生一个事件答案 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");
}
}