Я изменяю программу, чтобы список удалял ввод с клавиатуры (цифровая клавиатура, D0-D9, буквенные клавиши) и редактировал свойства выбранного в данный момент элемента списка на основе ввода. моя проблема в том, что, похоже, нет функциональности, которая может преобразовать нажатие клавиши в письмо. для примеров, в настоящее время у меня есть функция, которая идетПолучение ввода с клавиатуры в winform listbox
string letter;
if (e.KeyCode == Keys.A) { letter = "a"; return letter; }
if (e.KeyCode == Keys.B) { letter = "b"; return letter; }
if (e.KeyCode == Keys.C) { letter = "c"; return letter; }
if (e.KeyCode == Keys.D) { letter = "d"; return letter; }
if (e.KeyCode == Keys.E) { letter = "e"; return letter; }
if (e.KeyCode == Keys.F) { letter = "f"; return letter; }
if (e.KeyCode == Keys.G) { letter = "g"; return letter; }
if (e.KeyCode == Keys.H) { letter = "h"; return letter; }
if (e.KeyCode == Keys.I) { letter = "i"; return letter; }
if (e.KeyCode == Keys.J) { letter = "j"; return letter; }
if (e.KeyCode == Keys.K) { letter = "k"; return letter; }
if (e.KeyCode == Keys.L) { letter = "l"; return letter; }
if (e.KeyCode == Keys.M) { letter = "m"; return letter; }
if (e.KeyCode == Keys.N) { letter = "n"; return letter; }
if (e.KeyCode == Keys.O) { letter = "o"; return letter; }
if (e.KeyCode == Keys.P) { letter = "p"; return letter; }
и так далее для всего алфавита и цифр, и я хотел бы расширить его, чтобы включить символы, а также. Мне было интересно, существует ли более эффективная функция, которую я могу вызвать, которая может принимать в keyeventArg, или его keyCode/KeyValue/KeyData, и быть в состоянии сказать мне, что это за буква/номер, вместо того, чтобы вводить ее для каждой отдельной буквы/номера /символ.
Вы используете неправильное событие, вместо этого вы используете событие KeyPress. –
посмотрите здесь, если это поможет [KeysConverter Class Msdn] (https://msdn.microsoft.com/en-us/library/system.windows.forms.keysconverter.aspx) – MethodMan