博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
winform(四)——简单计算器制作
阅读量:4480 次
发布时间:2019-06-08

本文共 3589 字,大约阅读时间需要 11 分钟。

效果图:

代码区:

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 WindowsFormsApplication2{    public partial class Form1 : Form    {        //存储上次点击了什么按钮,0代表什么都没点击,1代表点击了数字按钮,2代表点击了运算符        private int prev = 0;        //存储计算的中间结果        private decimal zj = 0;        //记录上次按的什么运算符        private string prevysf = "+";        public Form1()        {            InitializeComponent();        }        //数字键按钮        private void button8_Click(object sender, EventArgs e)        {            //将事件源转换为按钮            Button btn = sender as Button;            //替换(如果下面文本框内容为0或者上次点击了运算符)            if (prev == 2 || txtbottom.Text == "0")            {                txtbottom.Text = btn.Text;            }            //追加(如果下面文本框内容不为0并且上次没有点击运算符)            else            {                txtbottom.Text += btn.Text;            }            //点击了数字按钮            prev = 1;        }        //运算符按钮        private void button17_Click(object sender, EventArgs e)        {            Button btn = sender as Button;            //上次按了数字            if (prev == 1)            {                txttop.Text += txtbottom.Text + btn.Text;                switch (prevysf)                {                    case "+":                        zj = zj + Convert.ToDecimal(txtbottom.Text);                        break;                    case "-":                        zj = zj - Convert.ToDecimal(txtbottom.Text);                        break;                    case "*":                        zj = zj * Convert.ToDecimal(txtbottom.Text);                        break;                    case "/":                        zj = zj / Convert.ToDecimal(txtbottom.Text);                        break;                }                txtbottom.Text = zj.ToString();             }            //上次按了运算符            else            {                string s = txttop.Text;                s = s.Substring(0, s.Length - 1);                s = s + btn.Text;                txttop.Text = s;            }            //点击了运算符            prev = 2;            //记录下运算符            prevysf = btn.Text;                  }        //清零按钮        private void button19_Click(object sender, EventArgs e)        {            txttop.Text = "";            txtbottom.Text = "0";            prev = 0;            zj = 0;            prevysf = "+";        }        private void button20_Click(object sender, EventArgs e)        {            txtbottom.Text = "0";        }        //等号按钮        private void button4_Click(object sender, EventArgs e)        {            Button btn = sender as Button;            txttop.Text += txtbottom.Text + btn.Text;            switch (prevysf)            {                case "+":                    zj = zj + Convert.ToDecimal(txtbottom.Text);                    break;                case "-":                    zj = zj - Convert.ToDecimal(txtbottom.Text);                    break;                case "*":                    zj = zj * Convert.ToDecimal(txtbottom.Text);                    break;                case "/":                    zj = zj / Convert.ToDecimal(txtbottom.Text);                    break;            }            txtbottom.Text = zj.ToString();            txttop.Text = "";                        zj = 0;                    }        //点        private void button3_Click(object sender, EventArgs e)        {            txtbottom.Text += ".";        }    }}

 

转载于:https://www.cnblogs.com/H2921306656/p/5839100.html

你可能感兴趣的文章
转:对页面文章过长的处理方法
查看>>
Android四大组件之ContentProvider(学习笔记)
查看>>
Scala中柯里化函数
查看>>
using DE2-35 generate 1KHz audio signal 用DE2-35產生1KHz的音頻信號
查看>>
分享一组Rpg Marker人物行走,游戏素材图片,共20张图片
查看>>
28.uva 10891 Game of Sum 记忆化dp
查看>>
C++四种强制类型转换详解
查看>>
hdu4597 Play Game
查看>>
从难以普及的数据增强技术,看AI的性价比时代
查看>>
特来电混沌工程实践
查看>>
es6的箭头函数
查看>>
如何消除一个数组里面重复的元素?
查看>>
or2?Scum!(周期性求解)
查看>>
触摸事件 Touch MotionEvent ACTION
查看>>
TCPdump抓包命令详解
查看>>
第一篇:初识ASP.NET控件开发_第三节:“生死有序”的控件生命周期
查看>>
repeater找主键
查看>>
Xcode 下载地址 与Macos版本要求
查看>>
C++复制构造函数和赋值符的区别
查看>>
利用memcpy函数实现float到QByteArray的相互转化
查看>>