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. 字符串截取函数--C语言(转)

    #include<stdio.h> #include<stdlib.h> char* substring(char* ch,int pos,int length) { char ...

  2. Codeforces Round #161 (Div. 2) D. Cycle in Graph(无向图中找指定长度的简单环)

    题目链接:http://codeforces.com/problemset/problem/263/D 思路:一遍dfs即可,dp[u]表示当前遍历到节点u的长度,对于节点u的邻接点v,如果v没有被访 ...

  3. ios内购

    1.添加框架,storeKit.framework 需要真机调试 /* 内购五步: 1.请求可销售商品的列表 2.展示课销售的商品 3.点击购买 4.开具小票 5.创建交易对象并添加到交易队列 6.创 ...

  4. ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

    一.区域—麻雀虽小,五脏俱全的迷你MVC项目 1.1 Area的兴起 为了方便大规模网站中的管理大量文件,在ASP.NET MVC 2.0版本中引入了一个新概念—区域(Area). 在项目上右击创建新 ...

  5. hdu3448 01背包+dfs

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=3448 Description 0/1 bag problem should sound f ...

  6. Codeforces Round #375 (Div. 2) - D

    题目链接:http://codeforces.com/contest/723/problem/D 题意:给定n*m小大的字符矩阵.'*'表示陆地,'.'表示水域.然后湖的定义是:如果水域完全被陆地包围 ...

  7. HDU 3374 最小/大表示法+KMP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3374 题意:给定一个串s,该串有strlen(s)个循环同构串,要求输出字典序最小的同构串的下标,字典 ...

  8. 解决Kali Linux没有声音

    解决Kali Linux没有声音   Kali Linux系统默认状态下,root用户是无法使用声卡的,也就没有声音.启用的方法如下: (1)在终端执行命令:systemctl --user enab ...

  9. iOS 含有 中文的URL 转码问题

    非ARC模式下: - (NSString *)encodeToPercentEscapeString: (NSString *) input { NSString *outputStr = (NSSt ...

  10. Ue4如何在C++中获得获得当前角色的指针?

    #include "ThirdPersonPluginCharacter.h" #include "Kismet/GameplayStatics.h" //包含 ...