winform制作简单计算器

public Form1()
{
InitializeComponent();
textBox2.Text = "";//主显示屏
textBox1.Text = "";//顶端副显示屏
textBox3.Text = "";//中间变量,隐藏 } private void Form1_Load(object sender, EventArgs e)
{ }
//数字按键
private void button21_Click(object sender, EventArgs e)
{
if (sender is Button)
{
Button btn = sender as Button;
if (textBox2.Text == "")//如果主屏幕为0
{
textBox2.Text = btn.Text;//输入几就显示几
}
else
{
if (yunsuanfu)//上个按键是运算符
{
textBox2.Text = btn.Text;//主屏幕只显示本次输入的数字
yunsuanfu = false;
}
else
{
textBox2.Text += btn.Text;//上个按键不是运算符,主屏幕右侧累添上这个数字
}
}
}
} //加减乘除
private bool yunsuanfu = false;
private double jieguo1 = ;//点击加减乘除运算符显示的结果
private string text = "";
private void button26_Click(object sender, EventArgs e)
{
if (sender is Button)
{
Button btn = sender as Button;
text = btn.Text;
if(textBox3.Text=="")
{
textBox3.Text = btn.Text;
}
//判断上一步点击的是否是运算符
if (yunsuanfu==false)//不是运算符
{
textBox1.Text += textBox2.Text + text;
yunsuanfu = true;
if(textBox3.Text=="+")
{
jieguo1 += Convert.ToDouble(textBox2.Text);
textBox2.Text = jieguo1.ToString();
}
else if (textBox3.Text == "-")
{
jieguo1 -= Convert.ToDouble(textBox2.Text);
textBox2.Text = jieguo1.ToString();
}
else if (textBox3.Text == "*")
{
if (jieguo1 != )
{
jieguo1 = jieguo1 * Convert.ToDouble(textBox2.Text);
}
else
{
jieguo1 = Convert.ToDouble(textBox2.Text);
}
textBox2.Text = jieguo1.ToString();
}
else if (textBox3.Text == "/")
{
if (Convert.ToDouble(textBox2.Text) != )
{
if (jieguo1 != )
{
jieguo1 = jieguo1 / Convert.ToDouble(textBox2.Text);
}
else
{
jieguo1 = Convert.ToDouble(textBox2.Text); ;
}
textBox2.Text = jieguo1.ToString();
}
else
{
textBox2.Text = "除数不能为0";
}
} textBox3.Text = text;
}
else
{
if (textBox1.Text.Length > )
{
textBox1.Text = textBox1.Text.Substring(, textBox1.Text.Length - ) + text;
textBox3.Text = text;
}
else
{
textBox3.Text = text;
}
yunsuanfu = false;
}
}
} //小数点
private void button25_Click(object sender, EventArgs e)
{
//判断上一步点击的是否是运算符
if (yunsuanfu == false)//不是运算符
{
if (textBox2.Text.Contains(".") == false)
{
textBox2.Text = textBox2.Text + ".";
}
}
else
{
textBox2.Text = "0.";
yunsuanfu = false;
}
} //等号
private double jieguo = ;
private string text4 = "";
private string text5 = "";
private void button28_Click(object sender, EventArgs e)
{
jieguo = jieguo1;
jieguo1 = ;
text4 = textBox3.Text;
textBox3.Text = "";
text = "";
if (text4 == "")
{
text4 = button28.Text;
} textBox1.Clear();
textBox1.Text = "";
//判断上一步点击的是否是运算符
if (yunsuanfu == false)//不是运算符
{
yunsuanfu = true;
if (text4 == "+")
{
jieguo += Convert.ToDouble(textBox2.Text);
textBox2.Text = jieguo.ToString();
}
else if (text4 == "-")
{
jieguo -= Convert.ToDouble(textBox2.Text);
textBox2.Text = jieguo.ToString();
}
else if (text4 == "*")
{
if (jieguo != )
{
jieguo = jieguo * Convert.ToDouble(textBox2.Text);
}
else
{
jieguo = Convert.ToDouble(textBox2.Text);
}
textBox2.Text = jieguo.ToString();
}
else if (text4 == "/")
{
if (textBox2.Text != "")
{
if (jieguo != )
{
jieguo = jieguo / Convert.ToDouble(textBox2.Text);
}
else
{
jieguo = Convert.ToDouble(textBox2.Text); ;
}
textBox2.Text = jieguo.ToString();
}
else
{
textBox2.Text = "除数不能为0";
}
}
else if (text4 == "=")
{
jieguo = jieguo;
} text5 = text4;
text4 = button28.Text;
}
else
{
yunsuanfu = false;
double jishu = ;
if (text4 == "+")
{
jishu = jieguo;
jieguo += jishu; textBox2.Text = jieguo.ToString();
}
else if (text4 == "-")
{
jishu = jieguo;
jieguo -=jishu; textBox2.Text = jieguo.ToString();
}
else if (text4 == "*")
{
jishu = jieguo;
jieguo=jieguo*jishu; textBox2.Text = jieguo.ToString();
}
else if (text4 == "/")
{
if (jieguo != )
{
jishu = jieguo;
jieguo = jieguo / jishu; textBox2.Text = jieguo.ToString();
}
else
{
textBox2.Text = "除数不能为0";
}
}
else if (text4 == "=")
{
jishu =Convert.ToDouble(textBox1.Text);
if (text5 == "+")
{
jieguo+=jishu ;
}
else if (text5 == "-")
{
jieguo-=jishu;
}
else if (text5 == "*")
{
jieguo *=jishu;
}
else if (text5 == "/")
{
if (jishu != )
{
jieguo /= jishu;
}
else
{
textBox2.Text = "除数不能为0";
}
}
}
}
yunsuanfu = false; }
//按键C
private void button8_Click(object sender, EventArgs e)
{
textBox2.Clear();
textBox1.Clear();
textBox3.Clear();
textBox2.Text = "";
textBox1.Text = "";
textBox3.Text = "";
jieguo = ;
jieguo1 = ;
yunsuanfu = false;
text = "";
text4 = "";
text5 = "";
}
//CE键
private void button7_Click(object sender, EventArgs e)
{ textBox2.Clear();
textBox2.Text = "";
}
//退格键
private void button6_Click(object sender, EventArgs e)
{
if (textBox2.Text.Length > )
{
textBox2.Text = textBox2.Text.Substring(, textBox2.Text.Length - );
}
else if (textBox2.Text.Length == )
{
textBox2.Text = textBox2.Text.Substring(, textBox2.Text.Length - );
textBox2.Text = "";
}
else
{
textBox2.Text = "";
}
}
//主屏幕字体随个数变化而变化
private void textBox2_TextChanged(object sender, EventArgs e)
{
if (textBox2.Text.Length < )
{
this.textBox2.Font = new System.Drawing.Font("宋体", 21.75f);
}
if (textBox2.Text.Length > )
{
this.textBox2.Font = new System.Drawing.Font("宋体", 15f);
}
if (textBox2.Text.Length > )
{
this.textBox2.Font = new System.Drawing.Font("宋体", 13f);
}
if (textBox2.Text.Length > )
{
this.textBox2.Font = new System.Drawing.Font("宋体", 11f);
}
}
winform制作简单计算器的更多相关文章
- 1.C#WinForm基础制作简单计算器
利用c#语言编写简单计算器: 核心知识点: MessageBox.Show(Convert.ToString(comboBox1.SelectedIndex));//下拉序号 MessageBox.S ...
- 《自制编程语言》笔记:使用yacc与lex制作简单计算器
1.代码 1.1)test.l 1.2)test.y 1.3)Makefile (因为是在linux环境下,所以使用了Makefile) 2.编译与运行 2.1)编译 2.2)运行 1.代码(也可以在 ...
- 用JavaScript制作简单的计算器
<html > <head> <title>简单计算器</title> <style type="text/css"> ...
- 基于MFC的一个简单计算器
写一个简单的计算器并不是什么很难的事,主要目的是要通过这个程序来学习和分析其中的核心算法.这个简易计算器的核心部分就是对输入的表达式的正确性判断与求值,其中包括对表达式的解析.中缀表达式转后缀表达式. ...
- C# Winform制作虚拟键盘,支持中文
原文:C# Winform制作虚拟键盘,支持中文 最近在做一个虚拟键盘功能,代替鼠标键盘操作,效果如下: 实现思路: 1 构建中文-拼音 数据库, ...
- C# WinForm制作电子琴键盘
上一篇 http://hovertree.com/h/bjaf/y8qol2p4.htm 再上一篇的基础上,使用WinForm制作了一个电子琴键盘: 演示地址 http://hovertree.com ...
- Highcharts使用教程(1):制作简单图表
今天我们要使用JavaScript图表Highcharts制作简单的柱形图,我们已经安装好Highcharts,让我们开始制作图表吧. 步骤一 在网页中添加一个div.设置id,设置图表长.高.代码如 ...
- 菜鸟学Android编程——简单计算器《一》
菜鸟瞎搞,高手莫进 本人菜鸟一枚,最近在学Android编程,网上看了一些视频教程,于是想着平时手机上的计算器应该很简单,自己何不尝试着做一个呢? 于是就冒冒失失的开撸了. 简单计算器嘛,功能当然很少 ...
- ZAM 3D 制作简单的3D字幕 流程(二)
原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...
随机推荐
- vector 之删除元素
删除指定位置的元素 删除vector中第5个位置的元素 vector<int> vec; //执行vector初始化操作 vector<; //获取第五个元素的iterator ve ...
- 程序员必懂:javaweb三大框架知识点总结
原文链接:http://www.cnblogs.com/SXTkaifa/p/5968631.html javaweb三大框架知识点总结 一.Struts2的总结 1.Struts 2的工作流程,从请 ...
- 用户视角 vs 系统视角 看性能
如何评价性能的优劣: 用户视角 vs. 系统视角 对于最终用户(End-User)来说,评价系统的性能好坏只有一个字——“快”.最终用户并不需要关心系统当前的状态——即使系统这时正在处理着成千上万的请 ...
- 【SQL Sever】将SQL Sever中的一个数据表的数据导出为insert语句
例如:这SQL Sever中的一张数据表,想要将这张数据表中的数据 转化成一个一个的insert语句存储在txt的文档中,那么不论走到那里这个insert语句一执行,我们就能将这个数据表中的数据 ...
- react-redux(1)
基础 Array.prototype.reduce //类似的核心思想 const initState = ''; const actions = ['a', 'b', 'c']; const new ...
- ural 2070. Interesting Numbers
2070. Interesting Numbers Time limit: 2.0 secondMemory limit: 64 MB Nikolay and Asya investigate int ...
- git 回滚
git reset --hard HEAD~10 可以通过上面的命令会退到最初的版本查看源代码, git reset --hard 4aa9a32d1625997ef5b28463ccde78d711 ...
- python 代码片段18
#coding=utf-8 f=open('text.txt','w') f.write('foo\n') f.write('bar\n') f.close() f=open('test.txt',' ...
- Java NIO之缓冲区Buffer
Java NIO的核心部件: Buffer Channel Selector Buffer 是一个数组,但具有内部状态.如下4个索引: capacity:总容量 position:下一个要读取/写入的 ...
- 安装lua_zlib让OpenResy可以接收gzip请求
1.下载和安装lua_zlib wget https://github.com/brimworks/lua-zlib/archive/master.zip unzip master.zip cd lu ...