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# 窗体普通计算器相关推荐

  1. 袖珍计算器c语言设计源码,Calculator 示例:Windows 窗体袖珍计算器

    Calculator 示例:Windows 窗体袖珍计算器 08/12/2011 本文内容 Calculator 示例使用 C++ 和 .NET Framework Windows 窗体类实现一个简单 ...

  2. arcgis字段计算器赋值_基于ArcGIS的python编程 18、在字段计算器中使用Python脚本

    很久没有更新专栏了,趁着五一劳动节,刚好有时间"劳动"一下,更新一下专栏的文章.接下来的文章是关于在ArcMap中的字段计算器中使用Python脚本:字段计算器中可以使用的脚本有两 ...

  3. Java窗体科学计算器源码Java计算器开发源码(课程设计)

  4. 5800计算器公路三维全能程序

    5800计算器公路三维全能程序.(丢掉图纸轻松测量)说明清晰! 各位,我的9860程序记忆编写完毕,跟这个程序功能差不多,但是更好用,加入了隧道 计算功能,能计算超欠挖,渐变隧道,不限制圆心数目,程序 ...

  5. 不同DPI下窗体的自适应的有关注意点(转)

    不同DPI下窗体的自适应的有关注意点(转自:http://hi.baidu.com/superkinger/blog/item/79e047ec6c80563526979197.html) 1.    ...

  6. 开源分享 | java项目 | 亲戚计算器

    前言: 对于基本的具有JFrame窗体的计算器大家都会写,今天分享关于简易计算器的进阶版亲戚计算器. 文章末尾有完整源码. 首先来看运行效果: 可以看到:在JFrame窗体中,含有:. 一个JLabl ...

  7. 2019access创建数据表、查询和窗体

    2019 access创建数据表.查询和窗体 打开access,在菜单栏选择创建,我们可以看到有 "表格" ."查询"."窗体"等模块,我们 ...

  8. 我的爸爸正在计算机前写报告,关于计算器的作文结尾

    1.<考场上的计算器>的作文结尾 他似乎要用计算器了,只见他小心地不能再小心地从我的桌上拿起了计算器.敲了两三个键后,便又更小心地放回了我的桌上.过了一会儿,这个动作又小心的反复了一次.又 ...

  9. 轮胎计算器 android,轮胎换算计算器(轮胎尺寸匹配计算器)

    我的轮胎现在是185 60 15可以换成多大的?我想更换大点的轮毂不知到能换. 给你一个参考公示 你自己算一下 225 55 17 代表胎的宽度高度和内经 宽度是225毫米 225的百分之55是高度 ...

最新文章

  1. js 等待某个函数执行完_JS 函数的执行时机
  2. java的知识点29——join:合并线程 插队线程、线程的状态
  3. lastpass安卓最新版_LastPass
  4. PowerShell脚本遇到的问题汇总
  5. SpringBoot+MySql实现一对多再多对多的数据库的设计以及业务层增删改查的实现
  6. specgram python
  7. sql 遍历结果print和表格形式
  8. javaweb实训第一天上午——HTML和CSS
  9. DAY3 scp,rsync,chmod,chown,setfacl
  10. linux内核之dmaengine
  11. PSpice应用 软件安装和B-1
  12. 2021-07-14 西门子PLC编程软件--博途V14软件的安装
  13. 9008刷机 小米max2_小米Max2解锁教程_小米Max2一键解锁BL的方法
  14. wps实现冻结首行的方法
  15. 超清楚!麦克风阵列学习笔记(一)——线性麦克风阵列的时间延迟Beamforming算法(Time-Delay Beamforming of Microphone ULA Array)
  16. Android开发学习心得 (一) 生如夏花之绚烂,死如秋叶之静美 -- App的生死轮回
  17. 解决Ubuntu与Windows不能复制粘贴问题
  18. 游戏性能优化的五个方向
  19. 最有效的赚钱方法,只有100元如何赚到10万?
  20. 四叉树lod结合灯塔AOI

热门文章

  1. go 基于gin编写encode、decode、base64加密接口
  2. 抢不到“猫抓杯”怎么办?这些女神更喜欢
  3. 隐马尔科夫模型(HMM)算法的理解与超详细推导
  4. 北京化工大学计算机组成原理考试,北京化工大学攻读硕士学位研究生复试样题《计算机组成原理》《操作系统》.doc...
  5. 嵌入式开发:使用STM32CubeMX 和 Keil uVision5实现两位数码管循环显示实验
  6. 用scratch编写游戏-蹦床小姑娘
  7. 什么是站群服务器?站群服务器与普通服务器的区别,为什么站长都爱用站群服务器
  8. 解决VA加载失败问题:visual assist ({44630D46-96B5-488C-8DF9-26E21DB8C1A3})未加载。请与程序包供应商联系以获得帮助
  9. SpringCloudGateway配置https
  10. 静息态fMRI+图论研究:难治性精神分裂症的脑功能网络