C# Как я могу определить в событии KeyUp, является ли ключ печатным символом? - PullRequest
0 голосов
/ 16 апреля 2020

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

if(e.KeyCode != Keys.Escape | e.KeyCode != Keys.Enter |  e.KeyCode != Keys.Enter |e.KeyCode != Keys.LShiftKey | e.KeyCode != Keys.RShiftKey | e.KeyCode != Keys.LMenu | e.KeyCode != Keys.RMenu | e.KeyCode != Keys.LWin | e.KeyCode != Keys.RWin | e.KeyCode != Keys.Apps | e.KeyCode != Keys.Alt | e.KeyCode != Keys.Shift | e.KeyCode != Keys.Control | e.KeyCode != Keys.Attn | e.KeyCode != Keys.Capital | \ e.KeyCode != Keys.CapsLock | e.KeyCode != Keys.ControlKey | e.KeyCode != Keys.Crsel |e.KeyCode != Keys.End | e.KeyCode != Keys.EraseEof | e.KeyCode != Keys.Execute | e.KeyCode != Keys.F1 | e.KeyCode != Keys.F2 | e.KeyCode != Keys.F3 | e.KeyCode != Keys.F4 | e.KeyCode != Keys.F5 | e.KeyCode != Keys.F6 |e.KeyCode != Keys.F7 | e.KeyCode != Keys.F8 | e.KeyCode != Keys.F9 | e.KeyCode != Keys.F10 | e.KeyCode != Keys.F11 | e.KeyCode != Keys.F12 | e.KeyCode != Keys.F13 | e.KeyCode != Keys.F14| e.KeyCode != Keys.F15 | e.KeyCode != Keys.F16 | e.KeyCode != Keys.F17 | e.KeyCode != Keys.F18 | e.KeyCode != Keys.F19 | e.KeyCode != Keys.F20 | e.KeyCode != Keys.F21 | e.KeyCode != Keys.F22 | e.KeyCode != Keys.F23 | e.KeyCode != Keys.F24 | e.KeyCode != Keys.HanguelMode | e.KeyCode != Keys.HangulMode | e.KeyCode != Keys.HanjaMode)

Приведенный выше код просто не имеет никакого смысла для меня как наиболее логичный способ обработки ввода, поэтому идеи, пожалуйста?

...