求教一个鼠标按下事件的小疑问
对于判断鼠标右键是否被按下事件里的button参数,if button=2 then 和 if (button and 2) then 为什么功能上是等价的呢,and不是说左右两边的表达式都为真才是真吗,我按下任意一个键button值都为真了啊
其实这就是vb不严谨之处造成的。
关键字“and”存在二义性,只有当参与运算的一方为bool类型时,and将作为逻辑运算符,否则是作为位运算的算术运算符,此例就是位运算的结果造成的,如果换成if (button and true) then,就会发现按鼠标左右键都有反应了,此时就是作为逻辑运算符得到的运算结果。