处理textBox1_KeyPress 事件
private void textBox1_KeyPress(ref object sender, ref system.Windows.Forms.KeyPressEventArgs e)
{
if(e.KeyChar >'9' || e.KeyChar < '0' && e.KeyChar != (char)15 && e.KeyChar != (char)8 ) e.Handled = true;
}

解决方案 »

  1.   

    KeyPress事件下加入如下代码:if(e.KeyChar==8 or e.KeyChar==' 'or  e.KeyChar==13)
    {
    return;
    }
    if(e.KeyChar>57 || e.KeyChar<48)
    {
    this.Focus(); 
    e.Handled=true;
    }
      

  2.   

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

  3.   

    6、 C#中当TextBox设计是只能输入数字时,可以在其KeyPress事件中追加如下代码:
    //输入不是0~9之间的数字或者不是回退健就不显示
    if ((e.KeyChar < (char)48 || e.KeyChar > (char)57) && e.KeyChar != (char)8)
    {
    e.Handled = true;
    }
    如果还要控制操作者通过“Ctrl + V”或者“复制菜单”向TextBox框拷贝非数字的字符串可以在TextBox的TextChanged事件中追加如下代码,另外需要追加一个变量来保存拷贝前的字符串,而且需要在Form_Load事件中将TextBox的值赋给该变量。
    string sOldValue = "";
    private void textBox1_TextChanged(object sender, System.EventArgs e)
    {
    //取得当前TextBox的值
    string sCurVvalue = this.textBox1.Text.Trim().ToString(); try
    {
    //如果当前的值不是null或者空串时,转换成int型数据
    if (sCurVvalue != null && !sCurVvalue.Equals(""))
    {
    int.Parse(sCurVvalue);
    } //没有出现异常,说明是数字,重新给TextBox赋值(不带有空格)
    this.textBox1.Text = sCurVvalue;
    //更新原来的值
    sOldValue = sCurVvalue;
    }
    catch
    {
    //出现异常,将TextBox还原成原来的值
    this.textBox1.Text = sOldValue;
    }
    }
      

  4.   

    在KeyPress事件中
    private void textBox1_KeyPress(ref object sender, ref system.Windows.Forms.KeyPressEventArgs e)
    {
     string str="0123456789";
    if(str.Index(e.KeyChar)==-1&& e.KeyChar != (char)15 && e.KeyChar != (char)8 ) 
     e.Handled = true;
    }