我正在尝试从键盘上的数字键中获取一个整数。例如,我想按5并获得int 5。
我正在使用KeyDown事件并具有以下内容:
private void listBox1_KeyDown(object sender, KeyEventArgs e)
{
int rating = (int)e.KeyValue;
}
我得到的输出是50-60范围内的整数。我也尝试过使用e.KeyData和e.KeyCode而没有任何运气。
任何对此的帮助都会受到赞赏,我觉得这很简单,我忽视或不理解。
答案 0 :(得分:3)
e.KeyValue
返回按下的键的字符代码。
要获得实际数字,您可以进行一些字符减法,即
int value = 0;
if (e.KeyValue >= 48 && e.KeyValue <= 57)
value = e.KeyValue - 48;
注意:如果您想知道48和57来自哪里,您可能需要查看ASCII表:http://www.asciitable.com/index/asciifull.gif
答案 1 :(得分:1)
这有效....有点hacky ......
Convert.ToInt32(e.KeyData.ToString()).Replace("D",""));