千家信息网

C#怎么实现计算器功能

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,今天小编给大家分享一下C#怎么实现计算器功能的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一
千家信息网最后更新 2026年11月02日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;namespace MyPictureDownloader{    //http://blog.sina.com.cn/s/blog_60d576800100tf5z.html    //http://jingyan.baidu.com/article/380abd0a6b80701d90192cde.html    public partial class JiSuanQi : Form    {        public JiSuanQi()        {            InitializeComponent();            initButton();        }        public delegate double Operater(double num1, double num2);        public void initButton()        {           var p = new Point(20, 80);           Button[] listbtn =  new Button[9];            for (int i = 0; i < 9; i++)             {                listbtn[i] = new Button();                listbtn[i].Name = "btn" + (i + 1).ToString();                listbtn[i].Text = (i+1).ToString();                listbtn[i].SetBounds(p.X, p.Y, 50, 50);                listbtn[i].Click+= new System.EventHandler(ClickHandler);                this.Controls.Add(listbtn[i]);                p.X += 80;                if (p.X >= this.Width - 80)                {                    p.X =20;                    p.Y += 60;                }            }        }        public void ClickHandler(Object sender, System.EventArgs e)        {            Button btn = (Button)sender;               string temp=txtnum.Text.ToString()+btn.Text;//这样解决了重复点击赋值问题            txtnum.Text = temp;        }        private void btnzero_Click(object sender, EventArgs e)        {            string temp = txtnum.Text.ToString() + btnzero.Text;//这样解决了重复点击赋值问题            txtnum.Text = temp;        }        public double jisuan(string caozuofu, Operater fanga)        {            double num2 = double.Parse(txtnum.Text);            double jieguo = 0;            //switch(caozuofu){            //    case"+":            //        jieguo = fanga(tempnum, num2);            //        break;            //    case "-":            //        jieguo = fanga(tempnum, num2);            //        break;            //    case "*":            //        jieguo = fanga(tempnum, num2);            //        break;            //    case "/":            //        jieguo = fanga(tempnum, num2);            //        break;            //}            jieguo = fanga(tempnum, num2);            return jieguo;        }        public double add(double num1, double num2)         {            return num1 + num2;        }        public double jian(double num1, double num2)        {            return num1- num2;        }        public double cheng(double num1, double num2)        {            return num1 * num2;        }        public double chu(double num1, double num2)        {            double result = 0;            if (num2!=0)            {            result= num1 / num2;            }            return result;        }        public double tempnum = 0;        public string caozuofu = "";        public event Operater fangfa;        private void btnresult_Click(object sender, EventArgs e)        {            txtnum.Text = jisuan(caozuofu, fangfa).ToString();        }        private void btnadd_Click(object sender, EventArgs e)        {            tempnum = double.Parse(txtnum.Text);            caozuofu = btnadd.Text;            txtnum.Text = "";            fangfa = add;        }        private void btnde_Click(object sender, EventArgs e)        {            tempnum = double.Parse(txtnum.Text);            caozuofu = btnde.Text;            txtnum.Text = "";            fangfa = jian;        }        private void btncheng_Click(object sender, EventArgs e)        {            tempnum = double.Parse(txtnum.Text);            caozuofu = btncheng.Text;            txtnum.Text = "";            fangfa = cheng;        }        private void btnchu_Click(object sender, EventArgs e)        {            tempnum = double.Parse(txtnum.Text);            caozuofu = btnchu.Text;            txtnum.Text = "";            fangfa = chu;        }        private void btndian_Click(object sender, EventArgs e)        {            if (txtnum.Text.ToString()=="")             {                txtnum.Text = "0";            }            string temp="";            if (txtnum.Text.ToString().IndexOf(".") > 0)//解决只能包含一个小数点            {                temp = txtnum.Text.ToString();            }            else             {                temp = txtnum.Text.ToString() + btndian.Text;//这样解决了重复点击赋值问题            }            txtnum.Text = temp;        }    }}

初始界面:

运行后的界面:

几个数字按钮是动态生成的,这就是我想要做的计算器。

以上就是"C#怎么实现计算器功能"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

知识 篇文章 计算器 问题 功能 C# 内容 就是 界面 不同 很大 代码 动态 大部分 小数 小数点 按钮 数字 更多 知识点 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司经营范围 喔噻互联网科技 嘟嘟瓜互联网科技 中国互联网科技发展 互联网科技排名 有木互联网科技 广州恒生互联网科技有限 互联网为啥属于高科技 昭通互联网科技选哪家 阿大互联网科技有限公司 崇明区互联网教育科技售后服务 996高科技互联网公司 工业互联网等科技实现智能化赋能 特约风豹互联网科技为什么扣费 工业互联网山东科技大学 元气玛特互联网科技公司是外包吗 萌小萌互联网科技河南有限公司 第三届互联网大会安防黑科技 陕西彩京云互联网科技有限公司 六子台科技互联网展会 科技互联网 广州百单互联网科技有限公司 科技赋能下的互联网金融 互联网金融 科技 互联网科技金融 中国的互联网科技企业的崛起 随着互联网科技发展 知域互联网科技有限公司大骗子 互联网高科技行业有哪些企业 杭州科技互联网公司有哪些
0