简单计算器
2016-04-27 00:13
302 查看
简单计算器,暂时label控件的显示功能还不完善,不想了,就这样
界面设计:
显示计算公式:lblShow
显示按下的数字和结果:txtShow
0-9按钮:btnZero~btnNine
按钮点:btnPoint
加:btnAdd
减:btnMinus
乘:btnMultiply
除:btnDivided
回退:btnFallback
CE按钮:btnCE
C按钮:btnC
等于按钮:btnEqual
为防止误操作,把文本框的属性设置成不可手动修改:
原文本框高度太小,属性修改:
详细代码:
运行效果:
附源码下载:
简单计算器.rar
界面设计:
显示计算公式:lblShow
显示按下的数字和结果:txtShow
0-9按钮:btnZero~btnNine
按钮点:btnPoint
加:btnAdd
减:btnMinus
乘:btnMultiply
除:btnDivided
回退:btnFallback
CE按钮:btnCE
C按钮:btnC
等于按钮:btnEqual
为防止误操作,把文本框的属性设置成不可手动修改:
原文本框高度太小,属性修改:
详细代码:
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 计算器 { public partial class Counter : Form { public Counter() { InitializeComponent(); } //设置全局变量 //加减乘除运算符 string Operator; //前数值 decimal FrontValue; //后数值 decimal BehindValue; //判断已有小数点 bool AlreadyPoint=false; //判断已等于 bool AlreadyEqual = false; private void Counter_Load(object sender, EventArgs e) { lblShow.Text = ""; } private void btnZero_Click(object sender, EventArgs e) { if (AlreadyEqual == true) { txtShow.Text = ""; lblShow.Text = ""; AlreadyEqual = false; } txtShow.Text += 0; lblShow.Text += 0; } private void btnOne_Click(object sender, EventArgs e) { if (AlreadyEqual == true) { txtShow.Text = ""; lblShow.Text = ""; AlreadyEqual = false; } txtShow.Text += 1; lblShow.Text += 1; } private void btnTwo_Click(object sender, EventArgs e) { if (AlreadyEqual == true) { txtShow.Text = ""; lblShow.Text = ""; AlreadyEqual = false; } txtShow.Text += 2; lblShow.Text += 2; } private void btnThree_Click(object sender, EventArgs e) { if (AlreadyEqual == true) { txtShow.Text = ""; lblShow.Text = ""; AlreadyEqual = false; } txtShow.Text += 3; lblShow.Text += 3; } private void btnFour_Click(object sender, EventArgs e) { if (AlreadyEqual == true) { txtShow.Text = ""; lblShow.Text = ""; AlreadyEqual = false; } txtShow.Text += 4; lblShow.Text += 4; } private void btnFive_Click(object sender, EventArgs e) { if (AlreadyEqual == true) { txtShow.Text = ""; lblShow.Text = ""; AlreadyEqual = false; } txtShow.Text += 5; lblShow.Text += 5; } private void btnSix_Click(object sender, EventArgs e) { if (AlreadyEqual == true) { txtShow.Text = ""; lblShow.Text = ""; AlreadyEqual = false; } txtShow.Text += 6; lblShow.Text += 6; } private void btnSeven_Click(object sender, EventArgs e) { if (AlreadyEqual == true) { txtShow.Text = ""; lblShow.Text = ""; AlreadyEqual = false; } txtShow.Text += 7; lblShow.Text += 7; } private void btnEight_Click(object sender, EventArgs e) { if (AlreadyEqual == true) { txtShow.Text = ""; lblShow.Text = ""; AlreadyEqual = false; } txtShow.Text += 8; lblShow.Text += 8; } private void btnNine_Click(object sender, EventArgs e) { if (AlreadyEqual == true) { txtShow.Text = ""; lblShow.Text = ""; AlreadyEqual = false; } txtShow.Text += 9; lblShow.Text += 9; } private void btnPoint_Click(object sender, EventArgs e) { if (AlreadyEqual == true) { txtShow.Text = ""; } if (txtShow.Text != "" && AlreadyPoint==false) { AlreadyPoint = true; txtShow.Text += "."; } } //加 private void btnAdd_Click(object sender, EventArgs e) { if (txtShow.Text != "") { FrontValue += decimal.Parse(txtShow.Text); txtShow.Text = ""; lblShow.Text += " + "; Operator = "add"; AlreadyPoint = false; } } //减 private void btnMinus_Click(object sender, EventArgs e) { if (txtShow.Text != "") { FrontValue += decimal.Parse(txtShow.Text); txtShow.Text = ""; lblShow.Text += " - "; Operator = "Minus"; AlreadyPoint = false; } } //乘 private void btnMultiply_Click(object sender, EventArgs e) { if (txtShow.Text != "") { FrontValue += decimal.Parse(txtShow.Text); txtShow.Text = ""; lblShow.Text += " * "; Operator = "Multiply"; AlreadyPoint = false; } } //除 private void btnDivided_Click(object sender, EventArgs e) { if (txtShow.Text != "") { FrontValue += decimal.Parse(txtShow.Text); txtShow.Text = ""; lblShow.Text += " / "; Operator = "Divided"; AlreadyPoint = false; } } //等于 private void btnEqual_Click(object sender, EventArgs e) { switch(Operator) { case "add": BehindValue = FrontValue + decimal.Parse(txtShow.Text); break; case "Minus": BehindValue = FrontValue - decimal.Parse(txtShow.Text); break; case "Multiply": BehindValue = FrontValue * decimal.Parse(txtShow.Text); break; case "Divided": BehindValue = FrontValue / decimal.Parse(txtShow.Text); break; } txtShow.Text = BehindValue.ToString(); FrontValue = 0; AlreadyEqual = true; AlreadyPoint = false; lblShow.Text = txtShow.Text; } //CE清除当前数 private void btnCE_Click(object sender, EventArgs e) { txtShow.Text = ""; //清除功能对lblShow缺失,没想到好方法 lblShow.Text = ""; } //C全清 private void btnC_Click(object sender, EventArgs e) { txtShow.Text = ""; lblShow.Text = ""; //加减乘除运算符 Operator=""; //前数值 FrontValue=0; //后数值 BehindValue=0; //判断已有小数点 AlreadyPoint = false; //判断已等于 AlreadyEqual = false; } //回退功能 private void btnFallback_Click(object sender, EventArgs e) { if (txtShow.Text != "") { txtShow.Text = txtShow.Text.Substring(0, txtShow.Text.Length-1); lblShow.Text = lblShow.Text.Substring(0, lblShow.Text.Length - 1); } } } }
运行效果:
附源码下载:
简单计算器.rar
相关文章推荐
- 【C#进阶系列】24 运行时序列化
- MyBatis学习--简单的增删改查
- Linux性能测试命令系列(3)- ps
- LAMP搭建及调优
- 程序猿的情书
- 购买雅居乐湖居笔记不得不知。
- load average的详细含义
- C++第四次实验—星形图
- C++第四次作业
- C++第4次作业
- 网络干货
- 写一个可以快速弹出多种滚轮选择器(PickerView)的小工具
- 转发和重定向
- 转发和重定向
- Corosync+Pacemaker+MySQL+DRBD(一)
- IT各种百度云资料
- Java---练习(面试题) :字符串截取(1)
- c++第四次试验
- Java---练习(面试题) :字符串截取(1)
- mxnet 在 windows7 x64 gtx760 上的配置