.Net KeyEventArgs возвращает против ввода

Имейте это в приложении ac # .net:

string key = e.KeyCode.ToString ();

в .net 1.1 key = "enter"

в .net 3.5 ключ = "возврат"

мой вопрос почему они разные?

13.10.2009 01:02:08
Оба приложения имеют одинаковый CultureInfo?
Andrew Hare 13.10.2009 01:04:55
Да - точно такое же приложение, только одно скомпилировано с vs2003 .net 1.1, а другое с vs2008 .net 3.5
dnndeveloper 13.10.2009 01:06:52
2 ОТВЕТА
РЕШЕНИЕ

KeysПеречисление имеет одинаковые значения , Enterи Return (он также имеет ряд других дубликатов). Каркас выбрал другое значение в ToString.

14
13.10.2009 01:05:35
Вот и все, проверено здесь: msdn.microsoft.com/en-us/library/… если у кого-то есть шпаргалка, которая была бы потрясающей.
dnndeveloper 13.10.2009 01:10:10
показывая, какие значения одинаковы, например, клавиши ввода и возврата в перечислении ключей. Вы упомянули, что есть другие дубликаты.
dnndeveloper 13.10.2009 01:11:25
Запустите этот код: Enum.GetNames(typeof(Keys)).GroupBy(k => Enum.Parse(typeof(Keys), k)).Where(g => g.Count() > 1)
SLaks 13.10.2009 01:17:44
сладкий! - попробую
dnndeveloper 13.10.2009 01:21:57
Это на самом деле позор, потому что разные входы и выходы могут быть полезны
Jim Deville 13.10.2009 01:42:14

Вот все дубликаты имен: Это было сгенерировано следующим запросом в LINQPad :

Enum.GetNames(typeof(Keys))
    .GroupBy(k => Enum.Parse(typeof(Keys), k))
    .Where(g => g.Count() > 1)
    .Select(g => String.Join(", ", g.Select(k => k.ToString()).ToArray()))

Enter, Return
CapsLock, Capital
HangulMode, HanguelMode, KanaMode
KanjiMode, HanjaMode
IMEAccept, IMEAceept
Prior, PageUp
PageDown, Next
Snapshot, PrintScreen
OemSemicolon, Oem1
Oem2, OemQuestion
Oem3, Oemtilde
Oem4, OemOpenBrackets
OemPipe, Oem5
OemCloseBrackets, Oem6
OemQuotes, Oem7
Oem102, OemBackslash
9
13.10.2009 01:20:01