日期:2014-05-17  浏览次数:20931 次

最简单的计算器 出问题了 求教
本帖最后由 jyfyzhi 于 2013-04-02 21:46:06 编辑






using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace com
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            int y = Convert.ToInt32(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;
                    break;
                case"*":
                    y = a * b;
                    break;
            }





        }
    }
}

------解决方案--------------------
textBox4.Text本来就是string类型的,不需要转,你textBox4不是最终的值吗,那就不需要管它了;你string m=""; 最后textBox4.Text=m;就可以了
------解决方案--------------------
原因和解决办法可参考以下:

        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);