try
{
    int.parse(youtextBox.Text);
}
catch
{
    //不是数字
}

解决方案 »

  1.   

    在KeyPress事件通过e.KeyChar来判断
      

  2.   

    文本矿的keypress事件加入:
    e.Handled  = CheckInteger(e);private bool CheckInteger(System.Windows.Forms.KeyPressEventArgs e)
    {
    int i = (int)e.KeyChar;
    if ((( i < 48) || (i >57))
    && (i != 8))
    return true;
    else
    return false;
    }
      

  3.   

    private void XXXX_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    if ( e.KeyChar > (char)47 && e.KeyChar < (char)58 || e.KeyChar ==(char)8 ||e.KeyChar==(char)46)
    {
    e.Handled = false;
    }
    else
    {
    e.Handled = true;
    }
    }
      

  4.   

    文本框加入KeyPress事件(只能输入数字):
    private void textBox2_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    if ((e.KeyChar < (char)46 || e.KeyChar > (char)57) && (e.KeyChar != (char)8 || e.KeyChar == (char)47))
    {
    e.Handled = true;
    }
    else
    e.Handled = false; }在文本框再加入TextChang事件加入(只能输入"."号一次,文本框有中文时取消中文内容):
    private void textBox2_TextChanged(object sender, System.EventArgs e)
    {
    int i;
             char One = '0';
    int newone = 0;
    string Oone = textBox2.Text.Trim();
    string Two = "";
    for (i=0;i<textBox2.TextLength;i++)
    {
    One = char.Parse(Oone.Trim().Substring(i,1).ToString());
             if((newone <= 0) && (One =='.'))
    {
    Two += One;
    newone=1;
    }
    else
    {
    if(char.IsDigit(One))
    {
    Two += One;
    }
    } }
    textBox2.Text = Two;
    }
      

  5.   

    if(!Regex.Match (jhComboBox.Text.ToUpper () ,@"^a-zA-Z"$Success )    //YD|NT 可以不用括号
    {
    MessageBox.Show ("无效的输入,请核对!","错误",MessageBoxButtons.OK ,MessageBoxIcon.Error );
    jhComboBox.Focus ();
    jhComboBox.SelectAll ();
    return;
    }
      

  6.   

    private void wz_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {
    if ( e.KeyChar > (char)47 && e.KeyChar < (char)58 || e.KeyChar ==(char)8 ||e.KeyChar==(char)46)
    {
    e.Handled = false;
    }
    else
    {
    e.Handled = true;
    }
    }
    方法2:using System.Text.RegularExpressions;Regex digitregex = new Regex(@"^[0-9]\d*[.]?\d*$");
    if (!digitregex.IsMatch(TextBox1.Text))
    {
    TextBox1.Text="";
    MessageBox.Show("只能输入数字!","提示");
    }
      

  7.   

    用OnKeyPress事件吧,然后再判断每个字符是不是数字,可以用char.Number的!如果不是数字的话,就取消这个字符
      

  8.   

    支持Firestone2003(笨笨小猪) 的
      

  9.   

    好要阿谢谢!
    [email protected]
      

  10.   

    if(Regex.IsMatch(MyText.Text,"(\D)+"))       //MyText is TextBox
     > {
     > if(MessageBox.Show("你输入的不是数字,要进行下一步操作吗!","系统提示",MessageBoxButtons.YesNo)==DialogResult.No)
     > {
     > MyText.Focus();
     > e.Cancel=true;
     > }
     > else
     > {
     > e.Cancel=false;
     > }
     > }
      

  11.   

    同意  rottenapple(大连的海)
      

  12.   

    关注,学习,谢谢!
    [email protected]
      

  13.   

    大家说得多好啊,我个人经常有try{}catch{}和正则表达式
      

  14.   

    if ((( i < 48) || (i >57))
    && (i != 8))
    return true;
    else
    return false;
      

  15.   

    首先定义string preStr ="";
    在TextBox的TextChanged事件里:
    string curStr = txt.Text.Trim();
    try{ 
       Convert.ToDouble(curStr);
       preStr = curStr ;
      }catch{
       txt.Text = preStr ;
    }
      

  16.   

    if(int32.parse(yourText)>47 || int32.parse(yourText)<57)
    { //Your Code}
    else
    {MessageBox("Illegal Input");}