c#写的计算器,如何在输入加号之前把第一个值取出来,如何取出第二个值!连续输入加号会出现输入字符窜错误!这三个问题如何解决?求解救!!

解决方案 »

  1.   

    1、如果你想把加号输入进去那么:
    try
    {
        //计算数学公式
         double d = Convert.ToDouble(new DataTable().Compute("5+(4*3)-2", null));
    }
    catch(Exception e)
    {
        throw new Exception(e.Message);
    }
    2、你把+号用按钮代替,就像windows的计算器一样
      

  2.   


    捕捉TextBox的KeyDown事件,判断TextBox的值
      

  3.   

    我也写过win7的计算器  可以发到你邮箱给你看看
      

  4.   

    字符串解析吧 。  //获取加号之前的数
            public int getNumBeforeAdd(string a) {            string str = a.Substring(0,a.IndexOf('+'));
                return Convert.ToInt32(str);
            }
            //获取+号后  =号前的数
            public int getNumAfterAdd(string a) {
                string str = a.Substring(a.IndexOf('+')+1,a.IndexOf('=')-a.IndexOf('+')-1);
                return Convert.ToInt32(str);
            }
    连续输入加号  这是一个非法输入。用KeyDown来解决。。输入的时候判断        private void textBox1_KeyDown(object sender, KeyEventArgs e) {
                if (e.KeyData == Keys.Add) {
                    if (textBox1.Text.Substring(textBox1.Text.Length - 1) == "+") {
                        textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1);
                    }
                }
            }  这个应该可以让他只有一个+号了。