我试图阻止用户在按键事件中输入单引号。似乎是一件足够简单的事情。我只需要使用 KeyChar。当我转换为 char 并与 Keys.Right (右箭头)进行比较时,由于某些奇怪的原因,单引号是匹配的。我对此感到困惑。知道为什么单引号会匹配右箭头吗?我看到的所有示例都只使用相同的转换来与键进行比较。
Func<char, bool> IsEditingKey = k =>
{
if (k == (char)Keys.Left || k == (char)Keys.Right || k == (char)Keys.Delete || k == (char)Keys.Back)
{
return true;
}
return false;
};
如果我传入一个单引号 ('),当 k == (char)Keys.Right 的测试发生时,它返回 true。我现在可能是一个演员问题,但我还能如何比较以确保它确实是正确的箭头而不是单引号(')?