day 18 C# 窗体普通计算器
day 18 C#打卡
1.将多个事件连接到单个事件处理程序中,模拟简单计算器的功能
先把控件都拖到窗体上:
加、减、乘、除、等于、AC分别都命名为btnjia、btnjian、btnche、btnchu、btndeng、btnAC。
代码如下,这里只能实现两个数的运算。
public partial class Form1 : Form{private string s;private decimal x, y;private Button btn;public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){textBox1.Text = "";label1.Text = "";}private void buttond_Click(object sender, EventArgs e)//单击数字命令按钮的事件处理程序{btn = (Button)sender;textBox1.Text = textBox1.Text + btn.Text;}private void buttonp_Click(object sender, EventArgs e)//单击运算符命令按钮的事件处理程序{btn = (Button)sender;if (btn.Name != "btndeng")//当用户点的不是等于号{x = Convert.ToDecimal(textBox1.Text);textBox1.Text = "";s = btn.Name;//保存用户按键label1.Text = x.ToString();}else//当用户点的是等于号{y = Convert.ToDecimal(textBox1.Text);switch(s){case "btnjia":textBox1.Text = (x + y).ToString();break;case "btnjian":textBox1.Text = (x - y).ToString();break;case "btnche":textBox1.Text = (x * y).ToString();break;case "btnchu":if (y == 0)MessageBox.Show("除以0错误!", "信息提示", MessageBoxButtons.OK);elsetextBox1.Text = (x / y).ToString();break;case "btnAC":textBox1.Clear();break;}label1.Text = textBox1.Text;}}}
这里的数字的数据类型我设置的是decimal,精度更高。亲测设置double类型会有误差(比如78.9减78不等于0.9)。
然后将控件绑定事件处理程序。运算符为一类,数字和小数点为一类。点击控件的属性,找到事件里的Click,修改即可。
如,我设置的运算符事件方法签名为buttonp_Click,数字等为buttond_Click。
将单个事件处理程序用于多个事件或让多个事件执行同一过程,这样便于简化代码。
运行结果如下(15.2+63.7):
day 18 C# 窗体普通计算器相关推荐
- 袖珍计算器c语言设计源码,Calculator 示例:Windows 窗体袖珍计算器
Calculator 示例:Windows 窗体袖珍计算器 08/12/2011 本文内容 Calculator 示例使用 C++ 和 .NET Framework Windows 窗体类实现一个简单 ...
- arcgis字段计算器赋值_基于ArcGIS的python编程 18、在字段计算器中使用Python脚本
很久没有更新专栏了,趁着五一劳动节,刚好有时间"劳动"一下,更新一下专栏的文章.接下来的文章是关于在ArcMap中的字段计算器中使用Python脚本:字段计算器中可以使用的脚本有两 ...
- Java窗体科学计算器源码Java计算器开发源码(课程设计)
- 5800计算器公路三维全能程序
5800计算器公路三维全能程序.(丢掉图纸轻松测量)说明清晰! 各位,我的9860程序记忆编写完毕,跟这个程序功能差不多,但是更好用,加入了隧道 计算功能,能计算超欠挖,渐变隧道,不限制圆心数目,程序 ...
- 不同DPI下窗体的自适应的有关注意点(转)
不同DPI下窗体的自适应的有关注意点(转自:http://hi.baidu.com/superkinger/blog/item/79e047ec6c80563526979197.html) 1. ...
- 开源分享 | java项目 | 亲戚计算器
前言: 对于基本的具有JFrame窗体的计算器大家都会写,今天分享关于简易计算器的进阶版亲戚计算器. 文章末尾有完整源码. 首先来看运行效果: 可以看到:在JFrame窗体中,含有:. 一个JLabl ...
- 2019access创建数据表、查询和窗体
2019 access创建数据表.查询和窗体 打开access,在菜单栏选择创建,我们可以看到有 "表格" ."查询"."窗体"等模块,我们 ...
- 我的爸爸正在计算机前写报告,关于计算器的作文结尾
1.<考场上的计算器>的作文结尾 他似乎要用计算器了,只见他小心地不能再小心地从我的桌上拿起了计算器.敲了两三个键后,便又更小心地放回了我的桌上.过了一会儿,这个动作又小心的反复了一次.又 ...
- 轮胎计算器 android,轮胎换算计算器(轮胎尺寸匹配计算器)
我的轮胎现在是185 60 15可以换成多大的?我想更换大点的轮毂不知到能换. 给你一个参考公示 你自己算一下 225 55 17 代表胎的宽度高度和内经 宽度是225毫米 225的百分之55是高度 ...
最新文章
- js 等待某个函数执行完_JS 函数的执行时机
- java的知识点29——join:合并线程 插队线程、线程的状态
- lastpass安卓最新版_LastPass
- PowerShell脚本遇到的问题汇总
- SpringBoot+MySql实现一对多再多对多的数据库的设计以及业务层增删改查的实现
- specgram python
- sql 遍历结果print和表格形式
- javaweb实训第一天上午——HTML和CSS
- DAY3 scp,rsync,chmod,chown,setfacl
- linux内核之dmaengine
- PSpice应用 软件安装和B-1
- 2021-07-14 西门子PLC编程软件--博途V14软件的安装
- 9008刷机 小米max2_小米Max2解锁教程_小米Max2一键解锁BL的方法
- wps实现冻结首行的方法
- 超清楚!麦克风阵列学习笔记(一)——线性麦克风阵列的时间延迟Beamforming算法(Time-Delay Beamforming of Microphone ULA Array)
- Android开发学习心得 (一) 生如夏花之绚烂,死如秋叶之静美 -- App的生死轮回
- 解决Ubuntu与Windows不能复制粘贴问题
- 游戏性能优化的五个方向
- 最有效的赚钱方法,只有100元如何赚到10万?
- 四叉树lod结合灯塔AOI
热门文章
- go 基于gin编写encode、decode、base64加密接口
- 抢不到“猫抓杯”怎么办?这些女神更喜欢
- 隐马尔科夫模型(HMM)算法的理解与超详细推导
- 北京化工大学计算机组成原理考试,北京化工大学攻读硕士学位研究生复试样题《计算机组成原理》《操作系统》.doc...
- 嵌入式开发:使用STM32CubeMX 和 Keil uVision5实现两位数码管循环显示实验
- 用scratch编写游戏-蹦床小姑娘
- 什么是站群服务器?站群服务器与普通服务器的区别,为什么站长都爱用站群服务器
- 解决VA加载失败问题:visual assist ({44630D46-96B5-488C-8DF9-26E21DB8C1A3})未加载。请与程序包供应商联系以获得帮助
- SpringCloudGateway配置https
- 静息态fMRI+图论研究:难治性精神分裂症的脑功能网络