Как то увидел вопрос, в котором спрашивалось как обработать клик правой кнопки мыши по кнопке в WinForms. Т.е. кликая левой кнопкой мы получали одно действие, а правой другое. Поэтому решил написать об этом.
Ошибкой многих является то, что они хотят обработать это в событии Click. Но нам для определения кнопки необходимо иное событие. Ими могут быть события MouseDown или MouseUp.
Теперь мы подписываемся на событие (например, MouseDown):
btn.MouseDown += new MouseEventHandler(btn_MouseDown);
Ну и непосредственно наш обработчик будет иметь вид:
void btn_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
MessageBox.Show("Left tButton");
//do something
}
else if (e.Button == MouseButtons.Right)
{
MessageBox.Show("Righ tButton");
//do something
}
}
Вот и все, теперь на клики разными кнопками мы можем реализовать различные необходимые нам действия.