如何确定密钥是字母还是数字?

Rya*_*hel 8 c# xna key xna-4.0

KeyboardState.GetPressedKeys()返回Key当前按下的键数组.通常要查明一个键是否是我将使用的字母或数字,Char.IsLetterOrDigit(char)但给定的类型是Keys枚举,因此没有KeyChar属性.

转换也不起作用,因为,例如Keys.F5,当转换为字符时,键成为字母t.在这种情况下,F5当它显然不是时,将被视为字母或数字.

那么,如果一个给定的Keys枚举值是一个字母或数字,如果铸造给一个字符给出不可预测的结果,怎么可能?

max*_*max 12

public static bool IsKeyAChar(Keys key)
{
    return key >= Keys.A && key <= Keys.Z;
}

public static bool IsKeyADigit(Keys key)
{
    return (key >= Keys.D0 && key <= Keys.D9) || (key >= Keys.NumPad0 && key <= Keys.NumPad9);
}
Run Code Online (Sandbox Code Playgroud)

  • 无法在Keys枚举中找到它(http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.input.keys.aspx) (2认同)