2010-07-11 4 views
1

Обычно я пишу следующее, чтобы обрабатывать правый щелчок мыши.Зачем использовать побитовые операторы для проверки щелчков мыши?

если (e.Button == MouseButtons.Right) { }

Но я видел, что люди делают это так. Может кто-нибудь сказать мне, почему они так делают? В чем преимущество?

если ((e.Button & MouseButtons.Right) == MouseButtons.Right) { }

ответ

3

Я не вижу никаких причин, чтобы использовать (e.Button & MouseButtons.Right) == MouseButtons.Right выражение в MouseDown обработчик события, но это имеет смысл в MouseMove обработчик события. Когда пользователь перемещает курсор на управление с нажатыми несколькими кнопками, этот код обнаруживает, что нажата правая кнопка мыши (другие кнопки также могут быть нажаты), а e.Button == MouseButtons.Right означает, что нажата только правая кнопка.

Смежные вопросы