.Net KeyEventArgs返回vs enter

在ac#.net应用程序中有这个:

string key = e.KeyCode.ToString();

在.net 1.1键=“输入”

在.net 3.5 key =“return”

我的问题是他们为什么不同?

Keys枚号具有相同的EnterReturn值(它还有许多其他重复项)。 框架在ToString选择了不同的值。

以下是所有重复的名称:这是由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