Вопрос говорит сам за себя - есть ли где-нибудь в Windows Forms класс, который имеет ту же функциональность, что и WPF System.Windows.Input.Keyboard? Или я застрял всегда, обрабатывая события клавиатуры и сохраняя свое собственное состояние? (Меня особенно интересует форма, аналогичная IsKeyDown).
System.Windows.Input.Keyboard
IsKeyDown
В качестве альтернативы, есть ли без суеты способ использовать эту функциональность WPF в моем проекте Forms (я не очень знаком с WPF, но это выглядит суетливо)?
Если вы не против P / Invoke, вы можете взглянуть на функцию Windows API GetKeyState .
Я не верю, что есть эквивалент для WinForms. Лучшее, что я знаю, - это статическое свойство ModifierKeys в Control, но это почти не то, что вы ищете.
Я полагаю, что вы застряли с обработкой событий и сохранением своего собственного состояния: (
Зачем тебе это? и почему вы не можете просто использовать Windows.Input.Keyboard в вашем приложении WinForms? Они не являются несовместимыми и могут использоваться вместе. Единственная причина, по которой я могу придумать, заключается в том, что вам нужно ориентироваться на платформу .NET 2.x, а на клиентских компьютерах не установлен .NET 3.x.