c#的edit控件如何只允许输入数字

解决方案 »

  1.   

     private bool IsNumeric(string str)
            {
                if (str == null || str.Length == 0)
                    return false;
                System.Text.ASCIIEncoding ascii = new System.Text.ASCIIEncoding();
                byte[] bytestr = ascii.GetBytes(str);
                foreach (byte c in bytestr)
                {
                    if (c < 48 || c > 57)
                    {
                        return false;
                    }
                }
                return true;
            }
    然后调用就好了
      

  2.   

    限制TextBox只能输入数字
    处理textBox1_KeyPress事件!
    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if ((e.KeyChar < 48 || e.KeyChar > 57) && (e.KeyChar != 8))        e.Handled = true;    base.OnKeyPress(e);  
    }
      

  3.   

    MaskedTextBox
    private bool nonNumberEntered = false;
            private void textBox1_KeyDown(object sender, KeyEventArgs e)
            {
                nonNumberEntered = false;
                if ((e.KeyCode < Keys.D0) || (e.KeyCode > Keys.D9 && e.KeyCode < Keys.NumPad0) || (e.KeyCode > Keys.NumPad9))
                {
                    if (e.KeyCode != Keys.Back)   
                    {
                        nonNumberEntered = true;
                    }
                }
            }        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                if (nonNumberEntered)
                {
                    e.Handled = true; 
                }
            }
    Char.IsNumber(e.KeyChar)
      

  4.   

    文本框KeyPress事件
      if(e.KeyChar<'0'||e.KeyChar>'9')
          e.handled=true;
      if(e.KeyChar==8)
          e.Handled=false;
      

  5.   

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
      if ((e.KeyChar < 48 || e.KeyChar > 57) && (e.KeyChar != 8))  e.Handled = true;  base.OnKeyPress(e);   
    }