我通常会编写以下内容来处理鼠标右键单击。
if(e.Button == MouseButtons.Right) { }
但是,我看到人们这样做。有人可以告诉我他们为什么这样做吗?有什么好处?
if((e.Button& MouseButtons.Right)== MouseButtons.Right) { }
答案 0 :(得分:3)
我认为没有理由在(e.Button & MouseButtons.Right) == MouseButtons.Right
事件处理程序中使用MouseDown
表达式,但在MouseMove
事件处理程序中更有意义。当用户按下几个按钮将光标移到控件上时,此代码会检测是否按下了鼠标右键(也可以按下其他按钮),而e.Button == MouseButtons.Right
表示只按下了右键。