views:

53

answers:

1

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) { }

+3  A: 

I don't see any reason to use (e.Button & MouseButtons.Right) == MouseButtons.Right expression in MouseDown event handler, but it makes more sense in MouseMove event 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), while e.Button == MouseButtons.Right means that only the right button is pressed.

max