基本信息
源码名称:C# 计算器、串口助手、进制转换器(工具源码合集)
源码大小:0.87M
文件格式:.zip
开发语言:C#
更新时间:2019-04-13
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 3 元 
   源码介绍




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;
using 工具;


namespace 计算器
{
    public partial class Calculator : Form
    {
        int temp;//计算方法标志
        bool Decimal = false;//小数点标志位
        double Result,num1,num2;//分别代表结果,储存符号前数据1,储存符号后数据2
        public Calculator()
        {
            InitializeComponent();
        }

        public void addNum(char num)
        {
            textBox1.Text = textBox1.Text   num.ToString();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            addNum('1');
        }

        private void button2_Click(object sender, EventArgs e)
        {
            addNum('2');
        }

        private void button3_Click(object sender, EventArgs e)
        {
            addNum('3');
        }

        private void button4_Click(object sender, EventArgs e)
        {
            addNum('4');
        }

        private void button5_Click(object sender, EventArgs e)
        {
            addNum('5');
        }

        private void button6_Click(object sender, EventArgs e)
        {
            addNum('6');
        }

        private void button7_Click(object sender, EventArgs e)
        {
            addNum('7');
        }

        private void button8_Click(object sender, EventArgs e)
        {
            addNum('8');
        }

        private void button9_Click(object sender, EventArgs e)
        {
            addNum('9');
        }

        private void button10_Click(object sender, EventArgs e)
        {
            addNum('0');
        }

        private void button11_Click(object sender, EventArgs e)
        {
            textBox1.Clear();//清空textBox1
            temp = 0;
            Result = 0;
            Decimal = false;
        }

        private void button13_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
                MessageBox.Show("请输入正确格式", "提示");
            else if(textBox1.Text.Last()==' ')
                MessageBox.Show("请输入正确格式", "提示");
            else
                addNum(' ');
            temp = 1;
            Decimal = false;           
        }

        private void button14_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
                MessageBox.Show("请输入正确格式", "提示");
            else if (textBox1.Text.Last() == '-')
                MessageBox.Show("请输入正确格式", "提示");
            else
                addNum('-');
            temp = 2;
            Decimal = false;
        }

        private void button15_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
                MessageBox.Show("请输入正确格式", "提示");
            else if (textBox1.Text.Last() == '*')
                MessageBox.Show("请输入正确格式", "提示");
            else
                addNum('*');
            temp = 3;
            Decimal = false;
        }

        private void button16_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
                MessageBox.Show("请输入正确格式", "提示");
            else if (textBox1.Text.Last() == '/')
                MessageBox.Show("请输入正确格式", "提示");
            else
                addNum('/');
            temp = 4;
            Decimal = false;
        }

        private void button17_Click(object sender, EventArgs e)
        {
            if (!Decimal)
            {
                if (textBox1.Text == "")
                    MessageBox.Show("请输入正确格式", "提示");              
                else
                    addNum('.');

                Decimal = true;
            }
        }

       

    

        private void Calculator_FormClosed(object sender, FormClosedEventArgs e)
        {
            Main main = new Main();
            main.Show();
        }

        private void button12_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
                MessageBox.Show("请输入正确格式", "提示");
            else if (textBox1.Text.IndexOf('=') >= 0)
            {
                MessageBox.Show("已经输入等号,无须再次输入", "提示");
            }
            else
            {
                addNum('=');

                try
                {
                    switch (temp)
                    {
                        case 1:
                            string[] sArray = textBox1.Text.Split(' ');//取' '之前与之后的字符串分别存储到
                                                                       //数组sArray[0],sArray[1]中
                            num1 = Convert.ToDouble(sArray[0]);
                            sArray[1] = sArray[1].Substring(0, sArray[1].Length - 1);//因为sArray[1]后面有个'=',
                                                                                     //要舍去,所以长度减一
                            num2 = Convert.ToDouble(sArray[1]);//将字符串转换成其他的类型
                                                               //这里转换成Double,如要转换成其他的,则把ToDouble换成相应的
                            Result = num1   num2;
                            break;
                        case 2:
                            string[] sArray1 = textBox1.Text.Split('-');
                            num1 = Convert.ToDouble(sArray1[0]);
                            sArray1[1] = sArray1[1].Substring(0, sArray1[1].Length - 1);
                            num2 = Convert.ToDouble(sArray1[1]);
                            Result = num1 - num2;
                            break;
                        case 3:
                            string[] sArray2 = textBox1.Text.Split('*');
                            num1 = Convert.ToDouble(sArray2[0]);
                            sArray2[1] = sArray2[1].Substring(0, sArray2[1].Length - 1);
                            num2 = Convert.ToDouble(sArray2[1]);
                            Result = num1 * num2;
                            break;
                        case 4:
                            string[] sArray3 = textBox1.Text.Split('/');
                            num1 = Convert.ToDouble(sArray3[0]);
                            sArray3[1] = sArray3[1].Substring(0, sArray3[1].Length - 1);
                            num2 = Convert.ToDouble(sArray3[1]);
                            Result = num1 / num2;
                            break;
                    }
                }

                catch
                {
                    MessageBox.Show("数据溢出", "警告");
                }
                textBox1.Text  = Result.ToString();
            }

           
        }

        private void button18_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Length > 0)
            {
                if (!textBox1.Text.Contains('='))
                textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1);
            }
        }

        
    }
}