WinForm 制作一个简单的计算器
namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
//存储上次点击了什么按钮,0代表什么都没有点击,1代表数字按钮,2代表点击了运算符
private int prev = ;
//存储计算的中间结果
private decimal zjjg = ;
//记录上次按得什么运算符
private string prevysf = "+"; public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e) //输入的数
{
//将事件源转换为按钮
Button btn = sender as Button;
//替换(文本框内容为0,点击了运算符)
if (prev == || txtbottom.Text == "")
{
txtbottom.Text = btn.Text;
}
//追加(内容不为0,并且上次没有点击运算符)
else
{
txtbottom.Text += btn.Text;
}
//点击了按钮数字
prev = ;
} private void button4_Click(object sender, EventArgs e) //加减乘除
{
//事件源转换为按钮
Button btn = sender as Button;
//上次按了数字
if (prev == )
{
txttop.Text += txtbottom.Text + btn.Text;//进行显示拼接
switch (prevysf)
{
case "+":
zjjg = zjjg + Convert.ToDecimal(txtbottom.Text); //计算上次运行的结果
break;
case "-":
zjjg = zjjg - Convert.ToDecimal(txtbottom.Text); //计算上次运行的结果
break;
case "*":
zjjg = zjjg * Convert.ToDecimal(txtbottom.Text); //计算上次运行的结果
break;
case "/":
zjjg = zjjg / Convert.ToDecimal(txtbottom.Text); //计算上次运行的结果
break;
} txtbottom.Text = zjjg.ToString();
}
//上次按了运算符
else
{ if (txttop.Text != "")
{
string s = txttop.Text;
s = s.Substring(, s.Length - );
s = s + btn.Text;
txttop.Text = s;
}
else
{ txttop.Text = txtbottom.Text + btn.Text;
}
}
//点击了运算符
prev = ;
//记录下运算符
prevysf = btn.Text;
} private void button9_Click(object sender, EventArgs e) //清空
{
txttop.Text = "";
txtbottom.Text = "";
prevysf = "+";
prev = ;
zjjg = ;
} private void button11_Click(object sender, EventArgs e) //等于
{
//事件源转换为按钮
Button btn = sender as Button;
switch (prevysf)
{
case "+":
zjjg = zjjg + Convert.ToDecimal(txtbottom.Text); //计算上次运行的结果
break;
case "-":
zjjg = zjjg - Convert.ToDecimal(txtbottom.Text); //计算上次运行的结果
break;
case "*":
zjjg = zjjg * Convert.ToDecimal(txtbottom.Text); //计算上次运行的结果
break;
case "/":
zjjg = zjjg / Convert.ToDecimal(txtbottom.Text); //计算上次运行的结果
break;
}
txtbottom.Text = zjjg.ToString();
txttop.Text = "";
prevysf = "";
prev = ;
} private void button17_Click(object sender, EventArgs e) //回退一个
{
string s = txtbottom.Text;
if (s.Length >)
{
s = s.Substring(, s.Length - );
txtbottom.Text = s;
}
else if(s.Length==)
{
txtbottom.Text = "";
}
} private void Form1_Load(object sender, EventArgs e)
{ }
}
}
WinForm 制作一个简单的计算器的更多相关文章
- C#-用Winform制作一个简单的密码管理工具
为什么要做? 首先是为了练习一下c#. 想必大家都有过记不起某个平台的账号密码的经历,那种感受着实令人抓狂.那这么多账号密码根本记不住!我之前用python写过一个超级简单(连账号信息都写在代码里那种 ...
- 使用qt制作一个简单的计算器
前言:今天使用qt制作了一个很简单的计算器,觉得挺有意思的,所以在这里跟大家分享一下. 这里先跟大家说说使用到的函数: 一.槽连接函数 connect(信号发送者,发送的信号,信号接收者,信号接收者的 ...
- JS实现一个简单的计算器
使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除.效果如上: 第一步: 创建构建运算函数count(). 第二步: 获取两个输入框中的值和获取选择 ...
- 实例学习SSIS(一)--制作一个简单的ETL包
原文:实例学习SSIS(一)--制作一个简单的ETL包 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SS ...
- TensorFlow练习13: 制作一个简单的聊天机器人
现在很多卖货公司都使用聊天机器人充当客服人员,许多科技巨头也纷纷推出各自的聊天助手,如苹果Siri.Google Now.Amazon Alexa.微软小冰等等.前不久有一个视频比较了Google N ...
- Android下实现一个简单的计算器源码
下面的内容是关于Android下实现一个简单的计算器的内容. import android.app.Activity; import android.os.Bundle;import android. ...
- 手把手制作一个简单的IDEA插件(环境搭建Demo篇)
新建IDEA插件File --> new --> Project--> Intellij PlatForm Plugin-->Next-->填好项目名OK 编写插件新建工 ...
- PureMVC和Unity3D的UGUI制作一个简单的员工管理系统实例
前言: 1.关于PureMVC: MVC框架在很多项目当中拥有广泛的应用,很多时候做项目前人开坑开了一半就消失了,后人为了填补各种的坑就遭殃的不得了.嘛,程序猿大家都不喜欢像文案策划一样组织文字写东西 ...
- 如何使用AEditor制作一个简单的H5交互页demo
转载自:http://www.alloyteam.com/2015/06/h5-jiao-hu-ye-bian-ji-qi-aeditor-jie-shao/ 本教程演示如何使用AEditor制作一个 ...
随机推荐
- 已有 JS 模块化和打包方案收集
模块化方案 RequireJS AMD 方案, 常用的 define 语法, 异步加载模块, 目前很多支持: 官网 http://requirejs.org/ Github https://githu ...
- c#之时间戳与DateTime的相互转换
1. 时间戳转 DateTime static DateTime GetServerNow(ulong serverTime) { DateTime dateTimeStart = TimeZone. ...
- 调用图灵机器人API实现Android智能机器人
非常感谢CSDN博客上的鸿洋哥,他贴出的源码是我所做的工作的基础,鸿洋哥博客链接http://blog.csdn.net/lmj623565791/article/details/38498353 下 ...
- ubuntu如何安装Mac主题
1.安装 Gnome 经典桌面 sudo apt-get install gnome-session-fallback 没有安装桌面的可安装 Gnome 桌面: sudo apt-get instal ...
- BZOJ 2209: [Jsoi2011]括号序列 [splay 括号]
2209: [Jsoi2011]括号序列 Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 1111 Solved: 541[Submit][Statu ...
- EclipseEE导入项目出现的那些问题
1.显示.project文件丢失, 解决方法:在eclipse中删除和该项目相同的文件名,重新import即可 2.导入没有.classpath和.project文件的项目 解决方法:目前没遇到 3. ...
- Xshell连接虚拟机VMware
最大的生活乐趣就是搞各种软件,系统,无聊的我开始搞centos了(需要对网络有深刻的理解) 一.学习使用xshell来控制VMware上的Centos6.5,可是每次重启IP都会改变 不太理解虚拟机V ...
- pku2104
传送门:http://poj.org/problem?id=2104 题目大意:给定一个长度为N的数组{A[i]},你的任务是解决Q个询问.每次询问在A[l], A[l+1], ...... , A[ ...
- android入门:activity之间跳转,并且回传参数
介绍: 两个activity进行跳转,在跳转过程中,将message由MainActivity传递到secondActivity,并且当secondActivity退回至MainAct ...
- iOS 解决一个复杂bug 之 计分卡
由于该模块界面和业务逻辑都很复杂,并且整个界面设计和业务逻辑都在ViewController(下面简称为VC)里面完成.该VC共有3000多行,一个函数几百张的也有.所以,解决起来真是头疼. 1. 问 ...