Сочетание трех клавиш не работает?

Всем привет, в программе хотел реализовать сочетание клавиш, но с тремя клавишами. С двумя все предельно просто, но неужели нельзя сделать для трех или это только с помощью WinAPI? Например ctrl+c+q.
  • Вопрос задан
  • 337 просмотров
Пригласить эксперта
Ответы на вопрос 2
@cicatrix
было бы большой ошибкой думать
Сочетание из трёх клавиш возможно, если две из них - клавиши-модификаторы (Ctrl, Shift или Alt).
Собственно, из двух клавиш возможно тоже только если одна из них - тот же модификатор.
Для остального делаются "аккорды" (как, например, в Visual Studio - сначала жмётся Ctrl + что-то, программа ждёт продолжения "аккорда", команда выполняется, когда нажимается следующая клавиша).
Ответ написан
mindtester
@mindtester Куратор тега C#
http://iczin.su/hexagram_48
в тех же формах есть 2 типа событий:
- KeyPress - чаще всего используют его, но оно происходит при нажатии и последующем отпускании клавиши (не модификатора, "обычной")
- KeyDown/KeyUp - эти честно отрабатывают каждое нажатие и отпускание. можете копнуть в этом направлении. при нажатии нужной клавиши, установить свой внутренний флаг (кстати драйвера так и работают с модификаторами) при отпускании - снять флаг.. когда поймаете нажатие 3й клавиши (тут уже любым способом) - если и модификатор нажат, и ваш внутренний флаг установлен - это и есть нужная ситуация

но вообще не стоит слишком мудрить в этой области - в VS ctrl+k затем +c - это комментирование выделенного блока, но это последовательность, а не одновременная комбинация

ваша задумка может оказаться не устойчивой в реализации, и противоречить общим стереотипам поведения..

иногда ломать стереотипы полезно, а иногда нет

ps

для компонентов форм, в окне "свойства" студии, есть вкладка "события".. там же легко и обработчики создавать (кликом) и отменять их, и кнопкой F1 вызывать MSDN, для русской студии, существенная часть на русском (в отличии от поисковиков)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы