Как определить нажатие клавиши Shift при движении мыши - PullRequest
14 голосов
/ 05 февраля 2009

Я пытаюсь показать увеличенное наложение на изображении, когда наведены курсор мыши и клавиша Shift.

Проблема заключается в том, что пользователь мог нажать клавишу Shift до того, как окно окажется в фокусе, поэтому мониторинг KeyDown не является решением.

Есть ли способ получить доступ к состояниям клавиш-модификаторов во время событий мыши? Например, в Java событие мыши содержит флаги для клавиш-модификаторов, а в .NET - нет.

1 Ответ

22 голосов
/ 05 февраля 2009

Попробуйте использовать свойство Control.ModifierKeys :

if ((Control.ModifierKeys & Keys.Shift) != Keys.None)
{
    // do my stuff
}
...