I usually write the following to handle a right mouse click.
if (e.Button == MouseButtons.Right)
{
}
But, I have seen people do it this way. Can somebody tell me why they do it this way? What’s the advantage?
if ((e.Button & MouseButtons.Right) == MouseButtons.Right)
{
}
I don’t see any reason to use
(e.Button & MouseButtons.Right) == MouseButtons.Rightexpression inMouseDownevent handler, but it makes more sense inMouseMoveevent handler. When user moves cursor over control with several buttons pressed, this code detects if right mouse button pressed (other buttons can also be pressed), whilee.Button == MouseButtons.Rightmeans that only the right button is pressed.