当前位置: 首页 > article >正文

用WinForm如何制作简易计算器

首先我们要自己搭好页面


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 _7_简易计算器
{
    public partial class Form1 : Form
    {
        //定义
        public static double a = 0;
        public static string  b = "";
        public static string c="";
        public static string d = "";
        public static string result;
        public Form1()
        {
            InitializeComponent();
           
        }

        private void button0_Click(object sender, EventArgs e)
        {
            Button firstnumber=(Button)sender; //把他们的按钮合并成一个事件 像 0-9和一个小数点
            b+= firstnumber.Text;  //接收第一个数
            d+= firstnumber.Text;  //同样接收
            textBox1.Text = d;     //把d 也就是接收的第一个数赋值给那个 textbox.text
            //textBox1.Text = b;
        }
        private void buttonAdd_Click(object sender, EventArgs e)
        {
            Button Fuhao=(Button)sender; //把他们的符号绑定成一个事件   +-*/这四个
            if (c != "")    //首先这一步不会进行 他目前`是空  运算完之后,如果用户还想拿结果进行运算,就可以带入
             
            {
                switch (c)
                {
                    case "+":
                        a += double.Parse(b);
                        break;
                    case "-":
                        a -= double.Parse(b);
                        break;
                    case "*":
                        a /= double.Parse(b);
                        break;
                    case "/":
                        if (double.Parse(b) == 0)
                        {
                            MessageBox.Show("简易计算机", "根据数学界,除数不能为0", MessageBoxButtons.OK);
                            a = 0;
                            b = "";
                            textBox1.Text = "";
                            return;
                        }
                        a /= double.Parse(b);
                        break;

                }
            }    
            else
            {
                a += double.Parse(b);//接收b 并且把b赋值给a
            }
            b = "";  //赋值之后b现在为空了
            c=Fuhao.Text;    //符号赋值给c
            d += c;          //这根就是第一个数与符号的了  比如5+   d是5  c是符号+
            textBox1.Text=d;      //现在把d赋值到文本上显示

        }
        private void buttonEquals_Click(object sender, EventArgs e)
        {

            switch (c)
            {
                case "+":
                    a += double.Parse(b);
                    break;
                case "-":
                    a -= double.Parse(b);
                    break;
                case "*":
                    a *= double.Parse(b);
                    break;
                case "/":
                    if (double.Parse(b) == 0)
                    {
                        MessageBox.Show("简易计算机", "根据数学界,除数不能为0", MessageBoxButtons.OK);
                        a = 0;
                        b = "";
                        textBox1.Text = "";
                        return;
                    }
                    a /= double.Parse(b);
                    break;
                
            }
            d=a.ToString();     //把a赋值给d  上面a是已经运算出来的值了;
            textBox1.Text=d;    //将d 结果赋值给屏幕文本
            b = a.ToString();    
            c = "";
        }

        private void buttonClear_Click(object sender, EventArgs e)
        {
            a= 0;
            b = "";
            c = "";
            d = "";
            textBox1.Text = "";
        }
    }
}


http://www.kler.cn/a/523069.html

相关文章:

  • LangChain的开发流程
  • 【QT】- QUdpSocket
  • JavaScript系列(47)--音频处理系统详解
  • 使用 C/C++ 调用 libcurl 调试消息
  • Python爬虫学习第三弹 —— Xpath 页面解析 实现无广百·度
  • vue项目中,如何获取某一部分的宽高
  • C# lock使用详解
  • 天猫超市卡绑卡 分析
  • 启元世界(Inspir.ai)技术浅析(二):深度强化学习
  • Kotlin 2.1.0 入门教程(九)
  • 智能调度体系与自动驾驶技术优化运输配送效率的研究——兼论开源AI智能名片2+1链动模式S2B2C商城小程序的应用潜力
  • 基于微信小程序的4S店客户管理系统设计与实现(LW+源码+讲解)
  • 学习资料收藏 游戏开发
  • Node.js基础
  • 解决Gradle引入依赖时报错 Caused by: java.io.FileNotFoundException问题
  • CTF-web: YAML是什么
  • 元宇宙与Facebook:社交互动的未来方向
  • Jetpack架构组件学习——使用Glance实现桌面小组件
  • 相互作用感知的蛋白-小分子对接模型 - Interformer 评测
  • 算法题(50):删除排序链表中的重复元素 II
  • ML基础——分类模型的评估指标
  • STM32 TIM定时器配置
  • 虚幻基础08:组件接口
  • 在ubuntu下一键安装 Open WebUI
  • 能够对设备的历史数据进行学习与分析,通过与设备当前状态的比对,识别潜在故障并做出预判的名厨亮灶开源了。
  • 宝塔安装完redis 如何访问