private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
  if ((e.KeyValue >= 48)&&(e.KeyValue <= 57))
{
}
else
{
    MessageBox.Show("请输入数字!");
  e.Handled=true;
}
}
----------------
改你的。

解决方案 »

  1.   

    試試這個
    private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    if (e.KeyChar<57&&e.KeyChar>48)
    {

    }
    else
    {
    MessageBox.Show("请输入数字!");
    e.Handled=true;
    } }
      

  2.   

    掉了等號
    private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    if (e.KeyChar<=57&&e.KeyChar>=48)
    {

    }
    else
    {
    MessageBox.Show("请输入数字!");
    e.Handled=true;
    } }
      

  3.   

    private string m_strOriginal = "";private void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
    {
      if ((e.KeyValue < 48)||(e.KeyValue > 57))
       { MessageBox.Show("请输入数字!");
          e.Handled=true;}
    }//捕獲Copy & Paste
    private void textBox1_TextChanged(object sender, System.EventArgs e)
    {
        foreach(char c in textBox1.Text)
        {
           if(!Char.IsDigital(c))
           {  textBox1.Text = m_strOriginal;
              return; 
            }
         }
         m_strOriginal = textBox1.Text;
    }
      

  4.   

    放在KeyPress事件中就没有问题了rivate void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    if ((e.KeyChar>= (char)48)&&(e.KeyChar <= (char)57))
    {
    }
    else
    {
    MessageBox.Show("请输入数字!");
    e.Handled=true;
    }
    }