欢迎来到代码驿站!

.NET代码

当前位置:首页 > 软件编程 > .NET代码

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

时间:2023-02-06 10:31:09|栏目:.NET代码|点击:

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

环境:VS2010及以上版本

1、建立个Window窗体应用

2、在工具箱里拖出两个TextBox,第一个放上面,第二个放下面 。主要这里的Name,上面是textBox1,下面是textBox2。这涉及到后面代码的书写

3、在工具栏里拖动Button,摆放好。可利用上面的对齐工具辅助设计。

4、在属性里改变各Button的Text,如下

注意这里的1~9,小数点,±*/ 的Text应只有一个字符,不要多输。←

5、选中任意一个Button,右键,选择查看代码,转到Form1.cs

6、开始写代码

AddNum 修改TextBox的Text,应用于1~9与小数点的Click事件
Reset 重置temp、myoperator,以及两个TextBox的Text
Delete 删除textBox2的Text最后一个字符
Calculate 把textBox2的Text转为double给temp,修改myoperator
Equal 具体的计算

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 WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
//----上面是自动生成的代码,下面得我们手写----
        private double temp = 0;  //存储临时数据
        private char myoperator = ' ';  //判断之前按的是+-*/中的哪个

        private void AddNum(object sender, EventArgs e)
        {   // 1~9与小数点的Click事件
            //sender是引发该事件的控件,这里我们拆箱为Button
            Button button = (Button)sender;
            textBox2.Text += button.Text;
        }

        private void Reset(object sender, EventArgs e)
        {   // CE的Click事件
            temp = 0;
            myoperator = ' ';
            textBox1.Text = textBox2.Text = "";
        }

        private void Delete(object sender, EventArgs e)
        {   // ←的Click事件
            //移除最后一个字符
            if (textBox2.TextLength > 0)
                textBox2.Text = textBox2.Text.Remove(textBox2.TextLength - 1);
        }

        private void Calculate(object sender, EventArgs e)
        {   // +-*/的Click事件
            Button button = (Button)sender;
            if (double.TryParse(textBox2.Text, out temp))  //尝试把textBox2的Text转为double并赋值给temp
            {
                myoperator = button.Text[0]; //Text是string,取第一个字符
                textBox1.Text = temp.ToString() + ' ' + myoperator;
                textBox2.Text = "";
            }
            else
            {   //转换失败,重置所有
                Reset(sender, e);
            }
        }

        private void Equal(object sender, EventArgs e)
        {   // = 的Click事件,计算并显示
            double temp2;
            //尝试转换,失败则重置并返回
            if (!double.TryParse(textBox2.Text, out temp2)) { Reset(sender, e); return; }
            switch (myoperator)
            {
                case '+':
                    temp += temp2;
                    break;

                case '-':
                    temp -= temp2;
                    break;

                case '*':
                    temp *= temp2;
                    break;

                case '/':
                    temp /= temp2;
                    break;

                default:
                    break;
            }
            textBox1.Text = "";
            textBox2.Text = temp.ToString();
        }
    }
}

7、设置各Button的Click事件

AddNum: 1~9与小数点的Click事件
Reset:CE的Click事件
Delete:←的Click事件
Calculate :±*/的Click事件
Equal:= 的Click事件

8、启动(F5)

上一篇:C#实现MQTT服务端与客户端通讯功能

栏    目:.NET代码

下一篇:c# 理解csredis库实现分布式锁的详细流程

本文标题:C#实现简单的计算器功能

本文地址:http://www.codeinn.net/misctech/225221.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有