В библиотеке Borland VCL есть события всего приложения, которые позволяют мне выполнять глобальную обработку нажатий клавиш. Есть ли что-нибудь подобное в .NET Winforms?
На данный момент у меня есть приложение Winforms с около 10 формами, и, к сожалению, я не создал базовый класс, из которого происходят все формы (процесс казался не таким простым, как в VCL), поэтому я не могу просто добавить код в базовый класс. Разве было бы легко добавить это сейчас и быстро подкласс 10 существующих форм?
Мой конечный пользователь хочет, чтобы он улавливал определенные комбинации клавиш, введенные в любом поле, и заменял их другими словами. Подобный ввод "so" будет заменен на "переполнение стека".
Не нужно искать точный код или что-то еще, просто некоторые идеи о том, как справиться с этим. До сих пор я думал о создании подклассов всех форм или о создании подклассов всех элементов управления текстовым полем, но не уверен, какие еще есть варианты? В VCL я бы ловил глобальное событие keydown, проверял активный элемент управления, проверял текст в элементе управления, и на основе текста и текущего выбора я заменял бы при необходимости.