C# 从按键中获取整数形式的数字

C# 从按键中获取整数形式的数字,c#,.net,keypress,keydown,C#,.net,Keypress,Keydown,我试图从键盘上的数字键中得到一个整数。例如,我想按5,得到整数5 我正在使用KeyDown事件,并具有以下功能: private void listBox1_KeyDown(object sender, KeyEventArgs e) { int rating = (int)e.KeyValue; } 我得到的输出是50-60范围内的整数。我也尝试过使用e.KeyData和e.KeyCode,但没有任何运气 如果您能提供任何帮助,我将不胜感激。我

我试图从键盘上的数字键中得到一个整数。例如,我想按5,得到整数5

我正在使用KeyDown事件,并具有以下功能:

    private void listBox1_KeyDown(object sender, KeyEventArgs e)
    {
            int rating = (int)e.KeyValue;
    }
我得到的输出是50-60范围内的整数。我也尝试过使用e.KeyData和e.KeyCode,但没有任何运气


如果您能提供任何帮助,我将不胜感激。我感觉这是一件我忽略或不理解的简单事情。

e.KeyValue
返回所按下键的字符代码

为了得到实际数字,你可以做一些字符减法,即

int value = 0;
if (e.KeyValue >= 48 && e.KeyValue <= 57)
   value = e.KeyValue - 48;
int值=0;

如果(e.KeyValue>=48&&e.KeyValue
e.KeyValue
返回所按下键的字符代码

为了得到实际数字,你可以做一些字符减法,即

int value = 0;
if (e.KeyValue >= 48 && e.KeyValue <= 57)
   value = e.KeyValue - 48;
int值=0;

如果(e.KeyValue>=48&&e.KeyValue这是有效的……有点不太正常

Convert.ToInt32(e.KeyData.ToString()).Replace("D",""));

这很管用…有点黑

Convert.ToInt32(e.KeyData.ToString()).Replace("D",""));

这是winforms还是WPF?这是winforms还是WPF?工作起来很有魅力。非常感谢。工作起来很有魅力。非常感谢。