Перечисление ключей .net ToString (), работающее с BackSlash '\' - PullRequest
2 голосов
/ 21 марта 2011

У меня есть событие, обрабатывающее нажатие клавиши (KeyDown) с аргументом KeyEventArgs . Этот класс имеет несколько соответствующих членов:

  • KeyCode
  • KeyData
  • KeyValue

Моя проблема: Всякий раз, когда я нажимаю BackSlash, я хотел бы получить строку с одним символом "\".

Всякий раз, когда я вызываю ToString () для любого из вышеуказанных символов, он просто возвращает Oem5 .

Я знаю, что мог бы просто бросить его в гигантское условие if, но я бы хотел этого избежать, если смогу.

Спасибо!

1 Ответ

2 голосов
/ 21 марта 2011

Отображение клавиатуры в .NET дает ответ, хотя может быть проще использовать событие KeyPress, чем KeyDown.KeyDown работает на уровне абстракции фактической клавиатуры (связка клавиш, будет отличаться в зависимости от локали и настройки и может иметь, например, два разных набора чисел, которые вы, возможно, захотите различить, и может даже не бытьсимвол, если ключ является модификатором или ключом без акцента).KeyPress лучше подготовлен для работы с уровнем абстракции вводимых реальных символов.

...