Это должно быть намного проще, чем он боролся с этим в течение некоторого времени. Я хочу записывать нажатия клавиш в форме Windows. Я должен быть в состоянии обнаружить все символы ASCII и ли нажата клавиша Shift, Alt или управления. Я пробовал обычное событие нажатия клавиш, событие нажатия клавиш, но ни один из них не дал вам всех символов. Например, событие keydown отлично подходит для получения функциональных клавиш, сдвинутых символов, но оно не может получить символы, такие как + или - Или может это?
Поэтому я попробовал следующее:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.A))
{
MessageBox.Show("You pressed Ctrl+A!");
return true;
}
return false;
}
Отлично. Это позволяет мне получить любой ключ, который находится в списке параметров, которые предоставляет «Ключи». Но это не включает такие символы, как # + - и так далее. В отладчике большинство клавиш отображаются, но не +, [и т. Д., Они показывают, что нажаты несколько клавиш, и они не имеют смысла. Так в чем же решение?
Спасибо