form有三个textbox, 我要计算textbox三个数的总和(double类型),在不用try..catch的情况下,怎样可以实现这三个数相加而不出错呢?要考虑textbox输入的可能是字符,或者输入的不是三个数,可能只输入一个数,或者两个数。ps:之前我是这样写的,但是好像是因为有返回值不能用try..catch
public double count(string m, string w, string f)
{       
    double sum = double.Parse(m) + double.Parse(w) + double.Parse(f);
    return sum;
}

解决方案 »

  1.   

    控制只能输入数字,不就好计算了
    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                int kc = Convert.ToInt32(e.KeyChar);
                if ((kc < 48 || kc > 57) && kc != 8)
                    e.Handled = true;
            }
      

  2.   

    2楼,4楼都是解决方法呀2楼的
            public double count(string m, string w, string f)
            {
                double a, b, c;
                double.TryParse(m, out a);
                double.TryParse(w,out b);
                double.TryParse(f,out  c);
                return a + b + c;        }
      

  3.   

    4楼的要在InitializeComponent()的时候加一句
    this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox1_KeyPress);而且有bug,不吃小数点
      

  4.   

    做winform程序,最后是加一个try catch
    这样不会导致程序异常结束如果不想有任何提示的话, 可以在catch块布做任何处理的
      

  5.   


    94,不加try catch你的程序漏洞就会很多的
      

  6.   

    只控制不能输入其他字符是不行的,
    点右键,粘贴,也要禁止
    新建右键菜单contextMenuStrip1,菜单项为空,textbox的ContextMenuStrip属性设为contextMenuStrip1