有人可以解釋這是如何工作的?使用按位邏輯來測試Control.MouseButtons
if ((Control.MouseButtons & MouseButtons.Left) != 0)
MSDN只說Control.MouseButtons屬性獲取一個值,指示該鼠標按鈕處於按下狀態,但我不明白怎麼「&」的作品,它爲什麼應該比0不同。
有人可以解釋這是如何工作的?使用按位邏輯來測試Control.MouseButtons
if ((Control.MouseButtons & MouseButtons.Left) != 0)
MSDN只說Control.MouseButtons屬性獲取一個值,指示該鼠標按鈕處於按下狀態,但我不明白怎麼「&」的作品,它爲什麼應該比0不同。
MouseButtons
屬性是一個標誌比正常的枚舉。這意味着它可以同時保存如MouseButtons.Left
和MouseButtons.Right
的值。它通過使用值中的特定位的1/0
狀態來表示狀態。 MouseButtons.Left
和MouseButtons.Right
表示這樣的狀態。
該操作被稱爲。它將返回一個值爲1
的值,左邊和右邊的值都是。因此,當MouseButtons.Left
位設置爲MouseButtons
時,該特定表達式將僅爲非零,這意味着左按鈕確實被按下了。
Control.MouseButtons是按位組合。
表達:如果位MouseButtons.Left
設置
if ((Control.MouseButtons & MouseButtons.Left) != 0)
被檢查(具有值1)。
ECXELLENT!先生,謝謝你 –