C#实现简易计算器功能(2)(窗体应用)

本文实例为大家分享了C#实现简易计算器功能第二部分的具体代码,供大家参考,具体内容如下

初始化,实现四则运算

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 WindowsFormsAppCalculator
{
    public partial class Form1 : Form
    {
        double number1 = 0;
        double number2 = 0;
        double result;
        int inputNumber;

        enum Operator { none, plus, minus, multiplication, division}//判断运算法则
        Operator mode = Operator.none;
        bool isequal = false;

        public Form1()
        {
            InitializeComponent();
        }

        private void num1_Click(object sender, EventArgs e)
        {

            inputNumber = 1;
            WindowsFormsAppCalculator(inputNumber);
            //number1 = number1 * 10 + 1;
            //labelout.Text = Convert.ToString(number1);
          
        }

        private void num2_Click(object sender, EventArgs e)
        {
            inputNumber = 2;
            WindowsFormsAppCalculator(inputNumber);
        }

        private void num3_Click(object sender, EventArgs e)
        {
            inputNumber = 3;
            WindowsFormsAppCalculator(inputNumber);
        }
        private void num4_Click(object sender, EventArgs e)
        {
            inputNumber = 4;
            WindowsFormsAppCalculator(inputNumber);
        }

        private void num5_Click(object sender, EventArgs e)
        {
            inputNumber = 5;
            WindowsFormsAppCalculator(inputNumber);
        }

        private void num6_Click(object sender, EventArgs e)
        {
            inputNumber = 6;
            WindowsFormsAppCalculator(inputNumber);
        }

        private void num7_Click(object sender, EventArgs e)
        {
            inputNumber = 7;
            WindowsFormsAppCalculator(inputNumber);
        }

        private void num8_Click(object sender, EventArgs e)
        {
            inputNumber = 8;
            WindowsFormsAppCalculator(inputNumber);
        }

        private void num9_Click(object sender, EventArgs e)
        {
            inputNumber = 9;
            WindowsFormsAppCalculator(inputNumber);
        }

        private void num0_Click(object sender, EventArgs e)
        {
            inputNumber = 0;
            WindowsFormsAppCalculator(inputNumber);
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            labelout.Text = Convert.ToString(number1);
        }

        private void clean_Click(object sender, EventArgs e)
        {
            cleanAll();
        }
        public void WindowsFormsAppCalculator(int an) //不懂这段怎么来的
        {
            if (mode == Operator.none)
            {
                number1 = number1 * 10 + an;
                labelout.Text = Convert.ToString(number1);
            }
            else
            {
                number2 = number2 * 10 + an;
                labelout.Text = Convert.ToString(number2);
            }
        }

        private void plus_Click(object sender, EventArgs e)
        {
            mode = Operator.plus;
            switchmode();
            //isequal = true;
         }

        private void minus_Click(object sender, EventArgs e)
        {
            mode = Operator.minus;
            switchmode();
        }

        private void multiplication_Click(object sender, EventArgs e)
        {
            mode = Operator.multiplication;
            switchmode();
        }

        private void division_Click(object sender, EventArgs e)
        {
            mode = Operator.division;
            switchmode();
        }

        private void equal_Click(object sender, EventArgs e)
        {
            switch (mode)
            {
                case Operator.plus:
                     result = number1 + number2;
                    break;
                case Operator.minus:
                     result = number1 - number2;
                    break;
                case Operator.multiplication:
                     result = number1 * number2;
                    break;
                case Operator.division:
                     result = number1 / number2;
                    break;
            }
            
            isequal = true;
            labelbefore.Text = "";
            labelmode.Text = "";
            labelout.Text = Convert.ToString(result);
            
        }
        public void cleanAll()
        {
            number1 = 0;
            number2 = 0;
            labelout.Text = Convert.ToString(number1);
            labelbefore.Text = "";
            labelmode.Text = "";
            isequal = false;
            mode = Operator.none;
        }
        public void switchmode()
        {
            switch (mode)
            {
                case Operator.plus:
                    labelmode.Text = "+";
                    break;
                case Operator.minus:
                    labelmode.Text = "-";
                    break;
                case Operator.multiplication:
                    labelmode.Text = "*";
                    break;
                case Operator.division:
                    labelmode.Text = "/";
                    break;
            }
            //isequal = true;
            //cleanAll();

           
            labelbefore.Text = Convert.ToString(number1);
            labelout.Text = Convert.ToString(number2);
        }
    }
}
namespace WindowsFormsAppCalculator
{
    partial class Form1
    {
        /// <summary>
        /// 必需的设计器变量。
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// 清理所有正在使用的资源。
        /// </summary>
        /// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows 窗体设计器生成的代码

        /// <summary>
        /// 设计器支持所需的方法 - 不要修改
        /// 使用代码编辑器修改此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {
            this.labelout = new System.Windows.Forms.Label();
            this.labelbefore = new System.Windows.Forms.Label();
            this.labelmode = new System.Windows.Forms.Label();
            this.num1 = new System.Windows.Forms.Button();
            this.num6 = new System.Windows.Forms.Button();
            this.num8 = new System.Windows.Forms.Button();
            this.num7 = new System.Windows.Forms.Button();
            this.num5 = new System.Windows.Forms.Button();
            this.num4 = new System.Windows.Forms.Button();
            this.num9 = new System.Windows.Forms.Button();
            this.num2 = new System.Windows.Forms.Button();
            this.num3 = new System.Windows.Forms.Button();
            this.num0 = new System.Windows.Forms.Button();
            this.clean = new System.Windows.Forms.Button();
            this.minus = new System.Windows.Forms.Button();
            this.multiplication = new System.Windows.Forms.Button();
            this.division = new System.Windows.Forms.Button();
            this.plus = new System.Windows.Forms.Button();
            this.equal = new System.Windows.Forms.Button();
            this.SuspendLayout();
            // 
            // labelout
            // 
            this.labelout.Font = new System.Drawing.Font("宋体", 25.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.labelout.Location = new System.Drawing.Point(26, 111);
            this.labelout.Name = "labelout";
            this.labelout.Size = new System.Drawing.Size(463, 49);
            this.labelout.TabIndex = 0;
            this.labelout.TextAlign = System.Drawing.ContentAlignment.BottomRight;
            // 
            // labelbefore
            // 
            this.labelbefore.Font = new System.Drawing.Font("宋体", 22.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.labelbefore.Location = new System.Drawing.Point(27, 9);
            this.labelbefore.Name = "labelbefore";
            this.labelbefore.Size = new System.Drawing.Size(463, 43);
            this.labelbefore.TabIndex = 1;
            this.labelbefore.TextAlign = System.Drawing.ContentAlignment.BottomRight;
            // 
            // labelmode
            // 
            this.labelmode.Font = new System.Drawing.Font("宋体", 22.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
            this.labelmode.Location = new System.Drawing.Point(28, 61);
            this.labelmode.Name = "labelmode";
            this.labelmode.Size = new System.Drawing.Size(463, 39);
            this.labelmode.TabIndex = 2;
            this.labelmode.TextAlign = System.Drawing.ContentAlignment.BottomRight;
            // 
            // num1
            // 
            this.num1.Location = new System.Drawing.Point(35, 199);
            this.num1.Name = "num1";
            this.num1.Size = new System.Drawing.Size(71, 41);
            this.num1.TabIndex = 3;
            this.num1.Text = "1";
            this.num1.UseVisualStyleBackColor = true;
            this.num1.Click += new System.EventHandler(this.num1_Click);
            // 
            // num6
            // 
            this.num6.Location = new System.Drawing.Point(218, 253);
            this.num6.Name = "num6";
            this.num6.Size = new System.Drawing.Size(71, 41);
            this.num6.TabIndex = 6;
            this.num6.Text = "6";
            this.num6.UseVisualStyleBackColor = true;
            this.num6.Click += new System.EventHandler(this.num6_Click);
            // 
            // num8
            // 
            this.num8.Location = new System.Drawing.Point(130, 312);
            this.num8.Name = "num8";
            this.num8.Size = new System.Drawing.Size(71, 41);
            this.num8.TabIndex = 7;
            this.num8.Text = "8";
            this.num8.UseVisualStyleBackColor = true;
            this.num8.Click += new System.EventHandler(this.num8_Click);
            // 
            // num7
            // 
            this.num7.Location = new System.Drawing.Point(35, 312);
            this.num7.Name = "num7";
            this.num7.Size = new System.Drawing.Size(71, 41);
            this.num7.TabIndex = 8;
            this.num7.Text = "7";
            this.num7.UseVisualStyleBackColor = true;
            this.num7.Click += new System.EventHandler(this.num7_Click);
            // 
            // num5
            // 
            this.num5.Location = new System.Drawing.Point(130, 253);
            this.num5.Name = "num5";
            this.num5.Size = new System.Drawing.Size(71, 41);
            this.num5.TabIndex = 9;
            this.num5.Text = "5";
            this.num5.UseVisualStyleBackColor = true;
            this.num5.Click += new System.EventHandler(this.num5_Click);
            // 
            // num4
            // 
            this.num4.Location = new System.Drawing.Point(35, 253);
            this.num4.Name = "num4";
            this.num4.Size = new System.Drawing.Size(71, 41);
            this.num4.TabIndex = 10;
            this.num4.Text = "4";
            this.num4.UseVisualStyleBackColor = true;
            this.num4.Click += new System.EventHandler(this.num4_Click);
            // 
            // num9
            // 
            this.num9.Location = new System.Drawing.Point(218, 312);
            this.num9.Name = "num9";
            this.num9.Size = new System.Drawing.Size(71, 41);
            this.num9.TabIndex = 11;
            this.num9.Text = "9";
            this.num9.UseVisualStyleBackColor = true;
            this.num9.Click += new System.EventHandler(this.num9_Click);
            // 
            // num2
            // 
            this.num2.Location = new System.Drawing.Point(130, 199);
            this.num2.Name = "num2";
            this.num2.Size = new System.Drawing.Size(71, 41);
            this.num2.TabIndex = 12;
            this.num2.Text = "2";
            this.num2.UseVisualStyleBackColor = true;
            this.num2.Click += new System.EventHandler(this.num2_Click);
            // 
            // num3
            // 
            this.num3.Location = new System.Drawing.Point(218, 199);
            this.num3.Name = "num3";
            this.num3.Size = new System.Drawing.Size(71, 41);
            this.num3.TabIndex = 13;
            this.num3.Text = "3";
            this.num3.UseVisualStyleBackColor = true;
            this.num3.Click += new System.EventHandler(this.num3_Click);
            // 
            // num0
            // 
            this.num0.Location = new System.Drawing.Point(130, 372);
            this.num0.Name = "num0";
            this.num0.Size = new System.Drawing.Size(71, 41);
            this.num0.TabIndex = 14;
            this.num0.Text = "0";
            this.num0.UseVisualStyleBackColor = true;
            this.num0.Click += new System.EventHandler(this.num0_Click);
            // 
            // clean
            // 
            this.clean.Location = new System.Drawing.Point(387, 199);
            this.clean.Name = "clean";
            this.clean.Size = new System.Drawing.Size(71, 41);
            this.clean.TabIndex = 15;
            this.clean.Text = "清除";
            this.clean.UseVisualStyleBackColor = true;
            this.clean.Click += new System.EventHandler(this.clean_Click);
            // 
            // minus
            // 
            this.minus.Location = new System.Drawing.Point(305, 253);
            this.minus.Name = "minus";
            this.minus.Size = new System.Drawing.Size(71, 41);
            this.minus.TabIndex = 16;
            this.minus.Text = "-";
            this.minus.UseVisualStyleBackColor = true;
            this.minus.Click += new System.EventHandler(this.minus_Click);
            // 
            // multiplication
            // 
            this.multiplication.Location = new System.Drawing.Point(305, 312);
            this.multiplication.Name = "multiplication";
            this.multiplication.Size = new System.Drawing.Size(71, 41);
            this.multiplication.TabIndex = 17;
            this.multiplication.Text = "*";
            this.multiplication.UseVisualStyleBackColor = true;
            this.multiplication.Click += new System.EventHandler(this.multiplication_Click);
            // 
            // division
            // 
            this.division.Location = new System.Drawing.Point(305, 372);
            this.division.Name = "division";
            this.division.Size = new System.Drawing.Size(71, 41);
            this.division.TabIndex = 18;
            this.division.Text = "/";
            this.division.UseVisualStyleBackColor = true;
            this.division.Click += new System.EventHandler(this.division_Click);
            // 
            // plus
            // 
            this.plus.Location = new System.Drawing.Point(305, 199);
            this.plus.Name = "plus";
            this.plus.Size = new System.Drawing.Size(71, 41);
            this.plus.TabIndex = 19;
            this.plus.Text = "+";
            this.plus.UseVisualStyleBackColor = true;
            this.plus.Click += new System.EventHandler(this.plus_Click);
            // 
            // equal
            // 
            this.equal.Location = new System.Drawing.Point(218, 372);
            this.equal.Name = "equal";
            this.equal.Size = new System.Drawing.Size(71, 41);
            this.equal.TabIndex = 20;
            this.equal.Text = "=";
            this.equal.UseVisualStyleBackColor = true;
            this.equal.Click += new System.EventHandler(this.equal_Click);
            // 
            // Form1
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(502, 466);
            this.Controls.Add(this.equal);
            this.Controls.Add(this.plus);
            this.Controls.Add(this.division);
            this.Controls.Add(this.multiplication);
            this.Controls.Add(this.minus);
            this.Controls.Add(this.clean);
            this.Controls.Add(this.num0);
            this.Controls.Add(this.num3);
            this.Controls.Add(this.num2);
            this.Controls.Add(this.num9);
            this.Controls.Add(this.num4);
            this.Controls.Add(this.num5);
            this.Controls.Add(this.num7);
            this.Controls.Add(this.num8);
            this.Controls.Add(this.num6);
            this.Controls.Add(this.num1);
            this.Controls.Add(this.labelmode);
            this.Controls.Add(this.labelbefore);
            this.Controls.Add(this.labelout);
            this.Name = "Form1";
            this.Text = "Form1";
            this.Load += new System.EventHandler(this.Form1_Load);
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.Label labelout;
        private System.Windows.Forms.Label labelbefore;
        private System.Windows.Forms.Label labelmode;
        private System.Windows.Forms.Button num1;
        private System.Windows.Forms.Button num6;
        private System.Windows.Forms.Button num8;
        private System.Windows.Forms.Button num7;
        private System.Windows.Forms.Button num5;
        private System.Windows.Forms.Button num4;
        private System.Windows.Forms.Button num9;
        private System.Windows.Forms.Button num2;
        private System.Windows.Forms.Button num3;
        private System.Windows.Forms.Button num0;
        private System.Windows.Forms.Button clean;
        private System.Windows.Forms.Button minus;
        private System.Windows.Forms.Button multiplication;
        private System.Windows.Forms.Button division;
        private System.Windows.Forms.Button plus;
        private System.Windows.Forms.Button equal;
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C#编写的windows计算器的实例代码

    复制代码 代码如下: using System; using System.Drawing; using System.Windows; using System.Windows.Forms; using System.Collections; using System.ComponentModel; using System.Data; namespace comput {     /// <summary>     /// 这是一个计算器的简单实现.     /// </summar

  • C#实现的简单整数四则运算计算器功能示例

    本文实例讲述了C#实现的简单整数四则运算计算器功能.分享给大家供大家参考,具体如下: 运行效果图如下: 具体代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace 计算器 { public pa

  • C#实现Winform版计算器

    本文实例为大家分享Winform版计算器的具体实现方法,供大家参考,具体内容如下 前台页面设计 后台代码实现 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 计

  • c#入门之实现简易存款利息计算器示例

    本想把练习题做了的结果放上来,不过发现附录是有答案的,就算了吧,自己做了没问题就行了哈.之前提到过,要是有朋友有想法,需要做小工具我可以帮忙实现,不过貌似大家都很忙.SO,自己学完第4章后,决定做一个工具:简易存款利息计算器,可以更好地复习前面学过的知识. 原理介绍为啥叫简易呢,因为现在只能计算整存整取(只有1.2.3.5四种年限哈)的利息,并且没有启用自动转存(俗称利滚利,就是把本年和上年的利息之和,作为下年利息计算时的本金)功能,方便和网上已有的工具对比计算结果,判断自己的程序算出来正不正确

  • C#实现简单加减乘除计算器

    第一次学习C#,做了个简单的加减乘除计算器,只能实现两个因数的运算. 主要是练习下C#编程,和以前用过的VB差不多.与VB6不同的是,C#代码区分大小写. Windows窗口程序主要也是由一些控件组成,响应响应的事件(event),实现具体的功能. 1.效果图如下所示 2.代码如下所示 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using Syst

  • C#实现简单的计算器功能完整实例

    本文实例讲述了C#实现简单的计算器功能.分享给大家供大家参考,具体如下: 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; using System.Collections; usi

  • C#实现简单计算器功能

    实现效果: Form1.cs代码: 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 Cal { pu

  • C#计算器编写代码

    利用C#编写一个计算器.如下图,能够完成基本的四则运算. 当然这个程序甚至还不上Windows附件那个自带的多功能计算器.  不过这个程序的逻辑还是非常值得思考的,首先你要考虑好用户按+ - * / =等运算符号.数字键之后计算器的状态记录问题.  然后要防止多次按某一个键的问题.比如小数点.就不应该让用户在输入一个数的时候键入两次.  最后,还要弄两个数组,一个存放用户在输入的数字,另一个存放用户输入的符号.  制作过程如下,  1.布局如下,同时可以参考<简单实现C#窗体程序判断是否闰年 >

  • C#开发简易winform计算器程序

    临近年关,今日在学习的过程中感觉甚是无聊,便想用C#来开发一个简易的计算器程序,这里记录下今日下午的实现过程,同时也记录下自己的第一遍博客. 一.需求 首先我们先来决定我们的计算器要实现什么功能 功能需求:1.能够实现加.减.乘.除.求余等两个操作数的运算,以及开方.平方单个操作数的运算 2.能够清除错误的输入,能够实现清零操作 显示需求:能够显示操作数与运算内容,显示结果 二.设计界面 1.在明白我们的功能需求后,我们来设计界面,界面主要包括三个部分,用于显示的两个textBox,以及数字键B

  • C# WinForm程序设计简单计算器

    一个简单的计算器的例子,在这个小程序中我们需要用到的组件有: Button:点击计算 TextBox:输出要运算的数 RadioButton:选择运算类型 GroupBox:绑定RadioButton 首先我们在界面上拖以上的控件,得到如下界面: 这时候监听计算按钮的点击事件: private void button1_Click(object sender, EventArgs e) { double op1, op2, result; if (textBox1.Text == ""

随机推荐