我想检验一下Textbox里面的数据是否大于10,如果大于10,就输出"aa",少于10,就输出bb界面就是两个Textbox和一个button1;代码如下:
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;namespace WindowsFormsApplication9
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            
        }        private void button1_Click(object sender, EventArgs e)
        {
            int a;
            a = Convert.ToInt32(textBox1.Text);
            if (a > 10)
                textBox2.Text = "aa";
            else
                textBox2.Text = "bb";
        }
        
       
    }
}问题出来了:我输入数字,程序完全正常,可是,我输入英文,它就弹出:输入字符串格式不正确     
请问哥哥为什么啊?怎么解决啊??万一人家输入英文,那程序就有危险啦!
还有,我发不了图啊?我的图的URL地址太长,请问在CSDN论坛怎么样发图啊??

解决方案 »

  1.   

    try
    {
        int a = int.Parse(textBox1.Text);
        if (a > 10)
    ...
    }
    catch
    {
        MessageBox.Show("输入的不是整数!");
    }
      

  2.   

    private void button1_Click(object sender, EventArgs e) 
            { 
                int a; 
                try
                {
                a = Convert.ToInt32(textBox1.Text); 
                if (a > 10) 
                    textBox2.Text = "aa"; 
                else 
                    textBox2.Text = "bb"; 
                }
                catch
                {
                }
            } 
      

  3.   

    给你个函数,调用它判断一下就可以了~
            /// <summary>
            /// 判断某个字符串是否为数值
            /// </summary>
            /// <param name="str">要检查的字符串</param>
            /// <param name="ignoreComma">忽略指定字符</param>
            /// <param name="specialChar">指定字符</param>
            /// <returns></returns>
            public static bool IsOnlyNumber(string str, bool ignoreSpecialChar, char specialChar)
            {
                if (String.IsNullOrEmpty(str)) return false;
                if (ignoreSpecialChar) str = str.Replace(specialChar.ToString(), "");
                foreach (char ch in str)
                {
                    if (!Char.IsNumber(ch)) return false;
                }
                return true;
            }
      

  4.   

    在Validated事件中加入判断如果是非数字就弹出提示窗口报错
      

  5.   

    try 

        int a = Convert.ToInt32(textBox1.Text); 
        if (a > 10) 
           textBox2.Text = "aa"; 
        else 
           textBox2.Text = "bb"; 

    catch 

        MessageBox.Show("输入的不是数字!"); 
      

  6.   

    a = Convert.ToInt32(textBox1.Text); 
    此问题:显示转换出错.
      

  7.   


    加异常处理如果不是数字,就提示错误
    web的话,可以设置输入格式winform好像也可以是一个idemode属性