本帖最后由 jyfyzhi 于 2013-04-02 21:46:06 编辑

解决方案 »

  1.   

    int y = Convert.ToInt32(textBox4.Text);
    应该是这个Textbox4为空的,强转出错,你可以用Try Catch捕抓
      

  2.   


    请问改怎么改呢  Textbox4为空,强转出错的话  我又改了下 还是不行  
                int y = 0;
                string m = Convert.ToString(textBox4.Text);
                int a =Convert.ToInt32(textBox1.Text);
                int b = Convert.ToInt32(textBox3.Text);
                string n = (comboBox1.Text).ToString();
                
                switch(n){
                    case"-":
                        y = a - b;
                        m = y.ToString();
                        break;
                    case"*":
                        y = a * b;
                        m = y.ToString();
                        break;
                }
      

  3.   

    textBox4.Text本来就是string类型的,不需要转,你textBox4不是最终的值吗,那就不需要管它了;你string m=""; 最后textBox4.Text=m;就可以了
      

  4.   

    原因和解决办法可参考以下:        private void button1_Click_1(object sender, EventArgs e)
            {
                int y = 0;// Convert.ToInt32(textBox3.Text);  //用y存储计算结果,不需要用Convert转。由于计算前,没有值,转int的话,就会出错
                int a = Convert.ToInt32(textBox1.Text);
                int b = Convert.ToInt32(textBox2.Text);
                string n = (comboBox1.Text).ToString();            switch (n)
                {
                    case "-":
                        y = a - b;
                        break;
                    case "*":
                        y = a * b;
                        break;
                }
                textBox3.Text = y.ToString();  //在这里将结果放入textBox3
            }