C#实现计算器

最终效果图:
C#实现计算器_第1张图片
编辑器:Visual Studio 2022
具体步骤:
1、创建窗体应用
C#实现计算器_第2张图片
2、拖拽公共组件 label
C#实现计算器_第3张图片
并且 修改 字体
(name)labelout
font 宋体 常规 一号
Text 0
textalign BottomRight
autoSize false (可以任意拖拽大小 位置)
C#实现计算器_第4张图片
3、复制窗体1
C#实现计算器_第5张图片
(name)labelbefore
font 宋体 常规 二号
4、复制窗体2 最上面的
C#实现计算器_第6张图片
(name)labelmode
然后将 第一行 第二行 的 text 文本0 置空
C#实现计算器_第7张图片
5、拖拽公共组件button
(name)num1
text 1
然后复制 将对应的name text 改成对应的数字

C#实现计算器_第8张图片
6、双击数字 添加对应数字的点击事件(运行 保存完 双击才能加事件 )
C#实现计算器_第9张图片
C#实现计算器_第10张图片
7、选中数字,点击工具箱中的公共组件 指针 复制 按钮
Text 改为 清除
name clean
双击清除 添加事件
number = 0;
label2.Text = Convert.ToString(number);
C#实现计算器_第11张图片
8、复制 清除按钮 添加 加减乘除,并且双击添加事件
plus                     +
minus                   -
multiplication        *
division                 /
C#实现计算器_第12张图片
9、添加事件

	double number = 0, number2 = 0;
    int inputNumber;

    enum Operator { none,plus,minus,multiplication,divsion }
    Operator mode = Operator.none;
    bool ismode = false;

    public void calll(int an)
    {
        if (ismode == false) {
            number = number * 10 + an;
            label2.Text = Convert.ToString(number);
        }
        else 
        {
            number2 = number2 * 10 + an;
            label2.Text = Convert.ToString(number2);
        }
    }


		inputNumber = 1;
        calll(inputNumber);

C#实现计算器_第13张图片
10、添加 等于号 equal
text =
name equal
定义变量

C#实现计算器_第14张图片
添加事件
C#实现计算器_第15张图片
源代码:

namespace call
{
    public partial class labelout : Form
    {

        double number = 0, number2 = 0, result;

        int inputNumber;

        enum Operator { none,plus,minus,multiplication,divsion }
        Operator mode = Operator.none;
        bool isequal = false;

        public void calll(int an)
        {
            if (mode == Operator.none) {
                number = number * 10 + an;
                label2.Text = Convert.ToString(number);
            }
            else 
            {
                number2 = number2 * 10 + an;
                label2.Text = Convert.ToString(number2);
            }
        }

        public labelout()
        {
            InitializeComponent();
        }

        private void num1_Click(object sender, EventArgs e)
        {
            inputNumber = 1;
            calll(inputNumber);
        }

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

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

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

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

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

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

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

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

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

        private void clean_Click(object sender, EventArgs e)
        {
            //清除
            //第一次代码
            //number = 0;
            //label2.Text = Convert.ToString(number);
            //第二次代码
            cleanall();
        }

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

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

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

        private void equal_Click(object sender, EventArgs e)
        {
            //等于
            switch (mode)
            {
                case Operator.plus:
                    result = number + number2;
                    break;
                case Operator.minus:
                    result = number - number2;
                    break;
                case Operator.multiplication:
                    result = number * number2;
                    break;
                case Operator.divsion:
                    result = number / number2;
                    break;
            }
            number = 0;
            number2= 0;
            isequal = true;
            labelbefore.Text = "";
            labelmode.Text = "";
            label2.Text = Convert.ToString(result);
        }

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

        //清空
        public void cleanall()
        {
            number = 0;
            number2 = 0;
            label2.Text = Convert.ToString(number);
            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.divsion:
                    labelmode.Text = "/";
                    break;
            }
            if (isequal == true) 
            {
                number = result;
            }
            labelbefore.Text = Convert.ToString(number);
            label2.Text = Convert.ToString(number2);
        }
    }
}
namespace call
{
    partial class labelout
    {
        /// 
        ///  Required designer variable.
        /// 
        private System.ComponentModel.IContainer components = null;

        /// 
        ///  Clean up any resources being used.
        /// 
        /// true if managed resources should be disposed; otherwise, false.
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// 
        ///  Required method for Designer support - do not modify
        ///  the contents of this method with the code editor.
        /// 
        private void InitializeComponent()
        {
            this.labelbefore = new System.Windows.Forms.Label();
            this.label2 = new System.Windows.Forms.Label();
            this.labelmode = new System.Windows.Forms.Label();
            this.num1 = new System.Windows.Forms.Button();
            this.num2 = new System.Windows.Forms.Button();
            this.num6 = new System.Windows.Forms.Button();
            this.num5 = new System.Windows.Forms.Button();
            this.num4 = new System.Windows.Forms.Button();
            this.num3 = new System.Windows.Forms.Button();
            this.num7 = new System.Windows.Forms.Button();
            this.num9 = new System.Windows.Forms.Button();
            this.num8 = 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();
            // 
            // labelbefore
            // 
            this.labelbefore.Font = new System.Drawing.Font("宋体", 22.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
            this.labelbefore.Location = new System.Drawing.Point(36, 78);
            this.labelbefore.Margin = new System.Windows.Forms.Padding(7, 0, 7, 0);
            this.labelbefore.Name = "labelbefore";
            this.labelbefore.Size = new System.Drawing.Size(1004, 57);
            this.labelbefore.TabIndex = 0;
            this.labelbefore.TextAlign = System.Drawing.ContentAlignment.BottomRight;
            // 
            // label2
            // 
            this.label2.Location = new System.Drawing.Point(36, 169);
            this.label2.Margin = new System.Windows.Forms.Padding(7, 0, 7, 0);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(1004, 99);
            this.label2.TabIndex = 1;
            this.label2.Text = "0";
            this.label2.TextAlign = System.Drawing.ContentAlignment.BottomRight;
            // 
            // labelmode
            // 
            this.labelmode.Font = new System.Drawing.Font("宋体", 22.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
            this.labelmode.Location = new System.Drawing.Point(36, 135);
            this.labelmode.Margin = new System.Windows.Forms.Padding(7, 0, 7, 0);
            this.labelmode.Name = "labelmode";
            this.labelmode.Size = new System.Drawing.Size(1004, 51);
            this.labelmode.TabIndex = 2;
            this.labelmode.TextAlign = System.Drawing.ContentAlignment.BottomRight;
            // 
            // num1
            // 
            this.num1.Location = new System.Drawing.Point(62, 289);
            this.num1.Name = "num1";
            this.num1.Size = new System.Drawing.Size(175, 59);
            this.num1.TabIndex = 3;
            this.num1.Text = "1";
            this.num1.UseVisualStyleBackColor = true;
            this.num1.Click += new System.EventHandler(this.num1_Click);
            // 
            // num2
            // 
            this.num2.Location = new System.Drawing.Point(256, 289);
            this.num2.Name = "num2";
            this.num2.Size = new System.Drawing.Size(175, 59);
            this.num2.TabIndex = 4;
            this.num2.Text = "2";
            this.num2.UseVisualStyleBackColor = true;
            this.num2.Click += new System.EventHandler(this.num2_Click);
            // 
            // num6
            // 
            this.num6.Location = new System.Drawing.Point(449, 395);
            this.num6.Name = "num6";
            this.num6.Size = new System.Drawing.Size(175, 59);
            this.num6.TabIndex = 5;
            this.num6.Text = "6";
            this.num6.UseVisualStyleBackColor = true;
            this.num6.Click += new System.EventHandler(this.num6_Click);
            // 
            // num5
            // 
            this.num5.Location = new System.Drawing.Point(256, 395);
            this.num5.Name = "num5";
            this.num5.Size = new System.Drawing.Size(175, 59);
            this.num5.TabIndex = 6;
            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(62, 395);
            this.num4.Name = "num4";
            this.num4.Size = new System.Drawing.Size(175, 59);
            this.num4.TabIndex = 7;
            this.num4.Text = "4";
            this.num4.UseVisualStyleBackColor = true;
            this.num4.Click += new System.EventHandler(this.num4_Click);
            // 
            // num3
            // 
            this.num3.Location = new System.Drawing.Point(449, 289);
            this.num3.Name = "num3";
            this.num3.Size = new System.Drawing.Size(175, 59);
            this.num3.TabIndex = 8;
            this.num3.Text = "3";
            this.num3.UseVisualStyleBackColor = true;
            this.num3.Click += new System.EventHandler(this.num3_Click);
            // 
            // num7
            // 
            this.num7.Location = new System.Drawing.Point(62, 502);
            this.num7.Name = "num7";
            this.num7.Size = new System.Drawing.Size(175, 59);
            this.num7.TabIndex = 9;
            this.num7.Text = "7";
            this.num7.UseVisualStyleBackColor = true;
            this.num7.Click += new System.EventHandler(this.num7_Click);
            // 
            // num9
            // 
            this.num9.Location = new System.Drawing.Point(449, 502);
            this.num9.Name = "num9";
            this.num9.Size = new System.Drawing.Size(175, 59);
            this.num9.TabIndex = 10;
            this.num9.Text = "9";
            this.num9.UseVisualStyleBackColor = true;
            this.num9.Click += new System.EventHandler(this.num9_Click);
            // 
            // num8
            // 
            this.num8.Location = new System.Drawing.Point(256, 502);
            this.num8.Name = "num8";
            this.num8.Size = new System.Drawing.Size(175, 59);
            this.num8.TabIndex = 11;
            this.num8.Text = "8";
            this.num8.UseVisualStyleBackColor = true;
            this.num8.Click += new System.EventHandler(this.num8_Click);
            // 
            // num0
            // 
            this.num0.Location = new System.Drawing.Point(256, 602);
            this.num0.Name = "num0";
            this.num0.Size = new System.Drawing.Size(175, 59);
            this.num0.TabIndex = 12;
            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(849, 289);
            this.clean.Name = "clean";
            this.clean.Size = new System.Drawing.Size(175, 59);
            this.clean.TabIndex = 13;
            this.clean.Text = "清除";
            this.clean.UseVisualStyleBackColor = true;
            this.clean.Click += new System.EventHandler(this.clean_Click);
            // 
            // minus
            // 
            this.minus.Location = new System.Drawing.Point(648, 395);
            this.minus.Name = "minus";
            this.minus.Size = new System.Drawing.Size(175, 59);
            this.minus.TabIndex = 14;
            this.minus.Text = "-";
            this.minus.UseVisualStyleBackColor = true;
            this.minus.Click += new System.EventHandler(this.minus_Click);
            // 
            // multiplication
            // 
            this.multiplication.Location = new System.Drawing.Point(648, 502);
            this.multiplication.Name = "multiplication";
            this.multiplication.Size = new System.Drawing.Size(175, 59);
            this.multiplication.TabIndex = 15;
            this.multiplication.Text = "*";
            this.multiplication.UseCompatibleTextRendering = true;
            this.multiplication.UseVisualStyleBackColor = true;
            this.multiplication.Click += new System.EventHandler(this.multiplication_Click);
            // 
            // division
            // 
            this.division.Location = new System.Drawing.Point(648, 602);
            this.division.Name = "division";
            this.division.Size = new System.Drawing.Size(175, 59);
            this.division.TabIndex = 16;
            this.division.Text = "/";
            this.division.UseVisualStyleBackColor = true;
            this.division.Click += new System.EventHandler(this.division_Click);
            // 
            // plus
            // 
            this.plus.Location = new System.Drawing.Point(648, 289);
            this.plus.Name = "plus";
            this.plus.Size = new System.Drawing.Size(175, 59);
            this.plus.TabIndex = 17;
            this.plus.Text = "+";
            this.plus.UseVisualStyleBackColor = true;
            this.plus.Click += new System.EventHandler(this.plus_Click);
            // 
            // equal
            // 
            this.equal.Location = new System.Drawing.Point(449, 602);
            this.equal.Name = "equal";
            this.equal.Size = new System.Drawing.Size(175, 59);
            this.equal.TabIndex = 18;
            this.equal.Text = "=";
            this.equal.UseVisualStyleBackColor = true;
            this.equal.Click += new System.EventHandler(this.equal_Click);
            // 
            // labelout
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(22F, 43F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(1075, 696);
            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.num8);
            this.Controls.Add(this.num9);
            this.Controls.Add(this.num7);
            this.Controls.Add(this.num3);
            this.Controls.Add(this.num4);
            this.Controls.Add(this.num5);
            this.Controls.Add(this.num6);
            this.Controls.Add(this.num2);
            this.Controls.Add(this.num1);
            this.Controls.Add(this.labelmode);
            this.Controls.Add(this.label2);
            this.Controls.Add(this.labelbefore);
            this.Font = new System.Drawing.Font("宋体", 25.8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
            this.Margin = new System.Windows.Forms.Padding(7, 6, 7, 6);
            this.Name = "labelout";
            this.Text = "Form1";
            this.ResumeLayout(false);

        }

        #endregion

        private Label labelbefore;
        private Label label2;
        private Label labelmode;
        private Button num1;
        private Button num2;
        private Button num6;
        private Button num5;
        private Button num4;
        private Button num3;
        private Button num7;
        private Button num9;
        private Button num8;
        private Button num0;
        private Button clean;
        private Button minus;
        private Button multiplication;
        private Button division;
        private Button plus;
        private Button equal;
    }
}

你可能感兴趣的:(C#,c#,c++)