通过按键获取 Int 形式的数字
我试图从键盘上的数字键获取一个整数。例如,我想按 5 并获取 int 5。
我正在使用 KeyDown 事件并具有以下内容:
private void listBox1_KeyDown(object sender, KeyEventArgs e)
{
int rating = (int)e.KeyValue;
}
我得到的输出是 50-60 范围内的整数。我也尝试过使用 e.KeyData 和 e.KeyCode 但没有任何运气。
对此的任何帮助将不胜感激,我感觉这是我忽略或不理解的简单事情。
I'm trying to get an integer from the number keys on the keyboard. For example, I want to press 5 and get the int 5.
I am using the KeyDown event and have the following:
private void listBox1_KeyDown(object sender, KeyEventArgs e)
{
int rating = (int)e.KeyValue;
}
And the output that I am getting are integers from the 50-60 range. I have tried also using e.KeyData and e.KeyCode without any luck.
Any help with this would be appreciated, I get the feeling it's something simple that I am overlooking or not understanding.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
e.KeyValue
返回按下的键的字符代码。要获得实际数字,您可以进行一些字符减法,即
注意:如果您想知道 48 和 57 来自哪里,那么您可能需要查看 ASCII 表:http://www.asciitable.com/index/asciifull.gif
e.KeyValue
returns the character code of the key pressed.To get the actual digit you could do some character subtractions i.e.
NB: If you're wondering where 48 and 57 come from then you may want to check out the ASCII table: http://www.asciitable.com/index/asciifull.gif
这有效....有点hacky...
This works.... kinda hacky...