用KeyCode.ToString()获取键盘输入,数字会重复

private void tb1_keyDown(object sender, KeyEventArgs e)
{
if ((e.KeyValue >= 8 && e.KeyValue <= 40) ||

(e.KeyValue >= 112 && e.KeyValue <= 123)) //功能键,F1-F12
{
textBox1.Text = e.KeyCode.ToString();
ForwardKey = e.KeyCode;
}
else if ((e.KeyValue >= 65 && e.KeyValue <= 90) || (e.KeyValue >= 48 && e.KeyValue <= 57)) // a-z/A-Z, 0-9
{
textBox1.Text = e.KeyCode.ToString().Substring(1);
ForwardKey = e.KeyCode;
}

    }



            输入数字会重复,比如数字3会在textbox里面显示33,用Substring(1)也没用,求分析原因

已经解决,textbox会写入,设为readyonly即可