我正在使用这个库来挂钩键,并且在将 e.KeyCode.ToString() 与相同的字符串进行比较时遇到了一些问题。
我有一个相当于字符串的变量
Keys.Oemtilde
->
Program.KeyboardTradeHotkey = "Oemtilde";
我将它保存在字符串中,因为我从 xml 文件中读取了该字符串,但似乎无法将字符串转换为Keys
.
如果我这样使用它:
if (e.KeyCode.Equals(Keys.Oemtilde)) {
Logging.AddToLog("[Keyboard][Check] " + e.KeyCode);
} else {
// failed to catch - executes else
Logging.AddToLog("[Keyboard][PRESS]");
}
它工作正常并且:Logging.AddToLog("[Keyboard][Check] " + e.KeyCode);
被执行。
如果我使用它:
if (e.KeyCode.ToString() == Program.KeyboardTradeHotkey) {
Logging.AddToLog("[Keyboard][Check] " + e.KeyCode);
} else {
// failed to catch - executes else
Logging.AddToLog("[Keyboard][PRESS]");
}
它执行 else 子句。即使字符串(e.KeyCode.ToString() 和 Program.KeyboardTradeHotkey 都相同,在这种情况下,字符串比较似乎也不起作用。
这可能是什么原因?