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. 1.C#WinForm基础制作简单计算器

    利用c#语言编写简单计算器: 核心知识点: MessageBox.Show(Convert.ToString(comboBox1.SelectedIndex));//下拉序号 MessageBox.S ...

  2. 《自制编程语言》笔记:使用yacc与lex制作简单计算器

    1.代码 1.1)test.l 1.2)test.y 1.3)Makefile (因为是在linux环境下,所以使用了Makefile) 2.编译与运行 2.1)编译 2.2)运行 1.代码(也可以在 ...

  3. 用JavaScript制作简单的计算器

    <html > <head> <title>简单计算器</title> <style type="text/css"> ...

  4. 基于MFC的一个简单计算器

    写一个简单的计算器并不是什么很难的事,主要目的是要通过这个程序来学习和分析其中的核心算法.这个简易计算器的核心部分就是对输入的表达式的正确性判断与求值,其中包括对表达式的解析.中缀表达式转后缀表达式. ...

  5. C# Winform制作虚拟键盘,支持中文

    原文:C# Winform制作虚拟键盘,支持中文           最近在做一个虚拟键盘功能,代替鼠标键盘操作,效果如下:        实现思路:          1  构建中文-拼音 数据库, ...

  6. C# WinForm制作电子琴键盘

    上一篇 http://hovertree.com/h/bjaf/y8qol2p4.htm 再上一篇的基础上,使用WinForm制作了一个电子琴键盘: 演示地址 http://hovertree.com ...

  7. Highcharts使用教程(1):制作简单图表

    今天我们要使用JavaScript图表Highcharts制作简单的柱形图,我们已经安装好Highcharts,让我们开始制作图表吧. 步骤一 在网页中添加一个div.设置id,设置图表长.高.代码如 ...

  8. 菜鸟学Android编程——简单计算器《一》

    菜鸟瞎搞,高手莫进 本人菜鸟一枚,最近在学Android编程,网上看了一些视频教程,于是想着平时手机上的计算器应该很简单,自己何不尝试着做一个呢? 于是就冒冒失失的开撸了. 简单计算器嘛,功能当然很少 ...

  9. ZAM 3D 制作简单的3D字幕 流程(二)

    原地址:http://www.cnblogs.com/yk250/p/5663907.html 文中表述仅为本人理解,若有偏差和错误请指正! 接着 ZAM 3D 制作简单的3D字幕 流程(一) .本篇 ...

随机推荐

  1. 库函数系统调用文件方式,王明学learn

    库函数系统调用文件方式 基于C函数库的文件编程是独立于具体的操作系统平台的,不管是在Windows.Linux还是其他的操作系统中,都是使用这些函数.使用库函数进行程序设计可提高程序的可移植性. 对于 ...

  2. How to use the Visual Studio

    推荐一个提供VS配色方案的一个网站:StudioStyles,域名和网站同名:http://studiostyl.es/ 2. 整行剪切:Ctrl + X.光标不要选中任何文字,然后按这个快捷键就可以 ...

  3. ubuntu中禁用华硕S550C触摸屏的方法

    华硕S550C的触摸屏被我一不小心弄了一条裂缝,导致屏幕一直会莫名其妙自动进行点击,严重影响了使用.在windows 系统下通过FN+F7的快捷键可以直接禁用触摸屏,但是换成ubuntu 系统之后,快 ...

  4. hdu 1063(java写高精度)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1063 思路:最近刚学了java,然后就迫不及待想试试java写大数的好处了,呵呵,果然是很方便啊! i ...

  5. 关于移动端1px边框问题

    <div class="z_nei_list"> <div class="z_name_left font-size3">身份证号:&l ...

  6. eclipse 常用快捷键及调试方法

    原文链接:http://my.oschina.net/u/1054538/blog/741561 常用快捷键 Eclipse最全快捷键,熟悉快捷键可以帮助开发事半功倍,节省更多的时间来用于做有意义的事 ...

  7. Java学习随笔2:Java复合赋值表达式的小问题

    问题:i += j只是i = i + j的简写么? 答案:非也!看下面的程序: int i = 5; long j = 8; i += j; // 可以通过编译且结果正确 i = i + j; // ...

  8. Linux学习笔记(19) Linux服务管理

    1. 服务的分类 Linux服务可分为RPM包默认安装的服务和源码包安装的服务.前者可细分为独立的服务(直接作用于内存中)和基于xinetd服务.xinetd本身是独立的服务,其唯一的功能是管理其他服 ...

  9. MIT 6.828 JOS学习笔记0. 写在前面的话

    0. 简介 操作系统是计算机科学中十分重要的一门基础学科,是一名计算机专业毕业生必须要具备的基础知识.但是在学习这门课时,如果仅仅把目光停留在课本上一些关于操作系统概念上的叙述,并不能对操作系统有着深 ...

  10. Java Math floor round ceil 函数

    public final class Math extends Object public static double floor(double a) public static long round ...