Why use bitwise operators for checking mouse clicks?
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 & Mouse开发者_如何学CButtons.Right) == MouseButtons.Right) { }
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.
精彩评论