try
{
  int i = convert.toint32(textbox.Text)
}
catch()
{
  messagebox.show("不是数字");
}

解决方案 »

  1.   


    int i = int.Parse(textbox.text);在textbox_Changed事件中限制就行了
      

  2.   

    1.Int32.Parse(textbox.Text.Trim());
    2.使用正则表达式判断
    先判断,后转换
      

  3.   

    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("只能输入数字!","提示");
    }
      

  4.   

    Convert.ToInt32(textbox.Text)
    注意大小写,--采用C#