Eri*_* J. 8 .net c# console-application
我有一个小C#控制台应用程序,它读取密钥并检查密钥是否是问号:
ConsoleKeyInfo ki = System.Console.ReadKey();
if (ki.ConsoleKey.Oem2) // Do something
Run Code Online (Sandbox Code Playgroud)
我Oem2通过查看调试器中实际分配的值来到达,因为没有用于问号的ConsoleKey代码.
现在我当然可以使用ki.KeyChar,但应用程序还需要响应不映射到字符的某些键(例如媒体键).检查两者ConsoleKey并KeyChar确定实际上已按下哪个键感觉不太优雅.另一方面,依靠Oem2总是映射到?所有情况和地区并不安全.
检查两个属性以确定实际按下了哪个键是最佳做法吗?
任何洞察为什么ConsoleKeyInfo以这种方式设计是值得赞赏的.
在这种情况下,您将不得不检查KeyChar == '?'.来自MSDN:
Oem2:OEM 2密钥(OEM特定).
所以你很幸运,因为它碰巧?在你的设备上.
该ConsoleKeyInfo结构提供KeyChar(Char值)以及Modifiers(枚举)来帮助您确定用户按下了哪些键.
| 归档时间: |
|
| 查看次数: |
1001 次 |
| 最近记录: |