先实现最简单的运算功能吧

解决方案 »

  1.   

    拖几个文本框
    不想麻烦就在各个文本框中间加个Lable写运算符想好点
    给个选择
    大不了是下拉框,选择运算符
    加减乘除
    注意做些验证,提高体验
    以及字符的转换!
      

  2.   

    到这里面去下载。有源码的
    http://download.csdn.net/source/1919661
      

  3.   

    private void button4_Click(object sender, System.EventArgs e)
    {
              double d=0;
    switch(c)
    {
    case "+":d=this.a+Convert.ToDouble(this.textBox1.Text);
    break;
    case "-":d=this.a-Convert.ToDouble(this.textBox1.Text);
    break;
    case "*":d=this.a*Convert.ToDouble(this.textBox1.Text);
    break;
    case "/":d=this.a/Convert.ToDouble(this.textBox1.Text);
    break;

    }
    this.textBox1.Text=d.ToString();
    } double a=0;
    string c=""; private void button12_Click(object sender, System.EventArgs e)
    {
      
    this.a=double.Parse(this.textBox1.Text);
    this.c=this.ActiveControl.Text;
                this.textBox1.Text="";
    } private void button8_Click(object sender, System.EventArgs e)
    {
    this.textBox1.Text=this.textBox1.Text.Substring(0,this.textBox1.Text.Length-1);
    } private void button9_Click(object sender, System.EventArgs e)
    {
    this.textBox1.Text="";
    }
      

  4.   


    using System; 
    using System.Collections.Generic; 
    using System.ComponentModel; 
    using System.Data; 
    using System.Drawing; 
    using System.Linq; 
    using System.Text; 
    using System.Windows.Forms; namespace WindowsCalculator 

        public partial class Form1 : Form 
        { 
            //构造器 
            public Form1() 
            { 
                InitializeComponent(); 
                this.initializeValues(); 
            }         //定义缓存变量 
            public int resultValue; 
            public int currentValue; 
            private Operation cachedOperation;         // 做初始化工作 
            public void initializeValues() 
            { 
                this.resultValue = 0; 
                this.currentValue = 0; 
                this.cachedOperation = Operation.None; 
            }         // 显示当前正在输入的值 
            public void DisplayCurrentValue() 
            { 
                this.textBox1.Text = this.currentValue.ToString(); 
            } 
            // 显示已有结果 
            public void DisplayResultValue() 
            { 
                this.textBox1.Text = this.resultValue.ToString(); 
            }         // 数字键点击事件处理器 
            private void NumberButton_Click(object sender, EventArgs e) 
            { 
                Button btn = sender as Button; 
                if (!btn.Text.ToString().Equals(".")) 
                { 
                    this.currentValue = this.currentValue * 10 + int.Parse(btn.Text); 
                } 
                else 
                { 
                    this.currentValue = this.currentValue + int.Parse(btn.Text.ToString()); 
                }       
                this.DisplayCurrentValue(); 
            }         //操作符 
            private void OperatorButton_Click(object sender, EventArgs e) 
            { 
                this.CalculateCore(); 
                if (sender == buttonAdd) 
                { 
                    this.cachedOperation = Operation.Add; 
                } 
                if (sender == buttonSub) 
                { 
                    this.cachedOperation = Operation.Sub; 
                } 
                if (sender == buttonMul) 
                { 
                    this.cachedOperation = Operation.Mul; 
                } 
                if (sender == buttonDiv) 
                { 
                    this.cachedOperation = Operation.Div; 
                } 
            }         //result 
            private void buttonResult_Click(object sender, EventArgs e) 
            { 
                CalculateCore(); 
            }         // 运算核心 
            private void CalculateCore() 
            { 
                switch (this.cachedOperation) 
                { 
                    case Operation.Add: 
                        this.resultValue += this.currentValue; 
                        break; 
                    case Operation.Sub: 
                        this.resultValue -= this.currentValue; 
                        break; 
                    case Operation.Mul: 
                        this.resultValue *= this.currentValue; 
                        break; 
                    case Operation.Div: 
                        if (this.currentValue != 0) 
                        { 
                            this.resultValue /= this.currentValue; 
                        } 
                        else 
                        { 
                            MessageBox.Show("Zero Error!"); 
                        } 
                        break; 
                    case Operation.None: 
                    default: 
                        this.resultValue = this.currentValue; 
                        break; 
                } 
                this.currentValue = 0; 
                this.DisplayResultValue(); 
            }         // 运算类型 
            enum Operation 
            { 
                Add, 
                Sub, 
                Mul, 
                Div, 
                None 
            }         private void buttonClear_Click(object sender, EventArgs e) 
            { 
                this.initializeValues(); 
                this.DisplayResultValue(); 
            } 
        }