use*_*843 5 .net c# keypress keyboard-events winforms
我想要做的就是获得在为事件输入密钥时按下的实际字符.
我所看到的唯一选择是e.KeyChar哪个会给我位置而不是角色本身.
我想要做的是将按键的值限制在0-9之间的数字.我现在这样做的方式就是if((e.KeyChar < 48 || (e.KeyChar > 57)))
仅仅输入0和9的值似乎有点便宜,我很想知道如何获得字符值本身而不是键.
编辑:感谢您的投入; 所以一般来说,没有办法从e.KeyChar值到输入本身的值.
我真的想接受我的事件,e,并且直接访问该字符,而不是使用e.KeyChar来获取该值的数字表示.
小智 5
这是一种更简单的方法来检测按下的键是否为数字:
if (char.IsDigit(e.KeyChar)) { // doSomething(); }
Run Code Online (Sandbox Code Playgroud)
KeyChar是一个char值 - 它是字符本身 - 48 和 57 是 ASCII 值0和的 ascii 值9。
在 C# 中,您可以通过数字 ASCII 代码或单引号中的实际字符来引用字符。因此,您的代码可以变成:
if((e.KeyChar < '0' || (e.KeyChar > '9')))
Run Code Online (Sandbox Code Playgroud)
这是完全相同的事情。