【问题标题】:.Net KeyEventArgs return vs enter.Net KeyEventArgs 返回与输入
【发布时间】:2009-10-13 09:20:01
【问题描述】:

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

字符串键 = e.KeyCode.ToString();

在 .net 1.1 中键 =“输入”

在 .net 3.5 中键 =“返回”

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

【问题讨论】:

  • 两个应用程序是否具有相同的 CultureInfo?
  • 是的——完全相同的应用程序只有一个是用 vs2003 .net 1.1 编译的,另一个是用 vs2008 .net 3.5 编译的

标签: c# .net keyboard


【解决方案1】:

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

【讨论】:

  • 就是这样,在这里验证:msdn.microsoft.com/en-us/library/… 如果有人有一个很棒的备忘单。
  • 显示哪些值是相同的,例如 keys 枚举中的 enter 和 return 键。您提到还有其他重复项。
  • 运行此代码:Enum.GetNames(typeof(Keys)).GroupBy(k => Enum.Parse(typeof(Keys), k)).Where(g => g.Count() > 1)
  • 这实际上是一种耻辱,因为不同的输入和返回可能很有用
  • 我认为他的意思是不同的主要区域输入和小键盘输入
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2012-02-26
    • 2020-07-02
    • 2015-05-25
    • 2022-01-22
    • 2018-12-13
    • 2018-09-24
    • 2013-02-07
    • 2015-01-13
    • 1970-01-01
    相关资源
    最近更新 更多