如何让文本框只能输入数字呢?

解决方案 »

  1.   

    要考虑:键盘、快捷键、上下文菜单,请参考:定制C# TextBox中只允许输入数字的解决方法
      

  2.   

    另外,可以考虑用数字输入框。NumberUpDown。
      

  3.   

    好像有一个keyPress事件,你右键属性看看
    里面可以判断
    如果不满足把e.Hand..=true,有点忘了,那样就输不进字母的
    你可以用^\d+$来限定e.keyChar
      

  4.   

    用NumberUpDown或者MaskedTextBox 控件就可以了
      

  5.   

    private viod textBox1_KeyPress(object sender,KeyPressEventArgs e)
    {
       //8是BackSpace键,13是回车
       if((e.KeyChar!=8&&!char.IsDigit(e.KeyChar))&&e.KeyChar!=13)
       {
          MessageBox.Show("只能输入数字!","操作提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
          e.Handled=true;
       }
    }
      

  6.   

    我用到的方法,跟九楼的差不多,希望对你有帮助//判断输入的金额格式是否对
    private void txtCKXCRJE_KeyPress(object sender, KeyPressEventArgs e)
    {
        string InputStr = txtCKXCRJE.Text.ToString();
        if ((e.KeyChar != 13) && (e.KeyChar != 8))
        {
           //可以判断输入的值是不是在1-9和"."之间了
            //****************************************************************
           if (!((e.KeyChar >= 48) && (e.KeyChar <= 57) || (e.KeyChar == 46)))
           {
               MessageBox.Show("请输入数字 0-9 或小数点(.)!", "提示");
               e.KeyChar = (char) 0;
               txtCKXCRJE.Text = "";
               return;
           }
           //******************************************************************              
           }
    }
    还有你在KeyUp的事件中判断   e.KeyValue   也可以做到
      

  7.   

    private void txtEndDate_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
      {
       if((e.KeyChar<'0' || e.KeyChar>'9') && e.KeyChar!='/' && e.KeyChar!=(char)8)
       {
        e.Handled = true;
       }
      }
    就这个
      

  8.   

    如果你要是不让输入/的话就把e.KeyChar!='/' 去掉
      

  9.   


    using System.Text.RegularExpressions;
    private void button1_Click(object sender, EventArgs e)
            {
                Regex rx = new Regex(@"\D");
                if (rx.IsMatch(this.textBox1.Text))
                {
                    MessageBox.Show("只能是数字!");
                }