winform制作简单计算器

  1 public Form1()
  2         {
  3             InitializeComponent();
  4             textBox2.Text = "0";//主显示屏
  5             textBox1.Text = "";//顶端副显示屏
  6             textBox3.Text = "";//中间变量,隐藏
  7
  8         }
  9
 10         private void Form1_Load(object sender, EventArgs e)
 11         {
 12
 13         }
 14         //数字按键
 15         private void button21_Click(object sender, EventArgs e)
 16         {
 17             if (sender is Button)
 18             {
 19                 Button btn = sender as Button;
 20                 if (textBox2.Text == "0")//如果主屏幕为0
 21                 {
 22                     textBox2.Text = btn.Text;//输入几就显示几
 23                 }
 24                 else
 25                 {
 26                     if (yunsuanfu)//上个按键是运算符
 27                     {
 28                         textBox2.Text = btn.Text;//主屏幕只显示本次输入的数字
 29                         yunsuanfu = false;
 30                     }
 31                     else
 32                     {
 33                         textBox2.Text += btn.Text;//上个按键不是运算符,主屏幕右侧累添上这个数字
 34                     }
 35                 }
 36             }
 37         }
 38
 39         //加减乘除
 40         private bool yunsuanfu = false;
 41         private double jieguo1 = 0;//点击加减乘除运算符显示的结果
 42         private string text = "";
 43         private void button26_Click(object sender, EventArgs e)
 44         {
 45             if (sender is Button)
 46             {
 47                 Button btn = sender as Button;
 48                 text = btn.Text;
 49                 if(textBox3.Text=="")
 50                 {
 51                     textBox3.Text = btn.Text;
 52                 }
 53                 //判断上一步点击的是否是运算符
 54                 if (yunsuanfu==false)//不是运算符
 55                 {
 56                     textBox1.Text += textBox2.Text + text;
 57                     yunsuanfu = true;
 58                     if(textBox3.Text=="+")
 59                     {
 60                         jieguo1 += Convert.ToDouble(textBox2.Text);
 61                         textBox2.Text = jieguo1.ToString();
 62                     }
 63                     else if (textBox3.Text == "-")
 64                     {
 65                         jieguo1 -= Convert.ToDouble(textBox2.Text);
 66                         textBox2.Text = jieguo1.ToString();
 67                     }
 68                     else if (textBox3.Text == "*")
 69                     {
 70                         if (jieguo1 != 0)
 71                         {
 72                             jieguo1 = jieguo1 * Convert.ToDouble(textBox2.Text);
 73                         }
 74                         else
 75                         {
 76                             jieguo1 = Convert.ToDouble(textBox2.Text);
 77                         }
 78                         textBox2.Text = jieguo1.ToString();
 79                     }
 80                     else if (textBox3.Text == "/")
 81                     {
 82                         if (Convert.ToDouble(textBox2.Text) != 0)
 83                         {
 84                             if (jieguo1 != 0)
 85                             {
 86                                 jieguo1 = jieguo1 / Convert.ToDouble(textBox2.Text);
 87                             }
 88                             else
 89                             {
 90                                 jieguo1 = Convert.ToDouble(textBox2.Text); ;
 91                             }
 92                             textBox2.Text = jieguo1.ToString();
 93                         }
 94                         else
 95                         {
 96                             textBox2.Text = "除数不能为0";
 97                         }
 98                     }
 99
100                     textBox3.Text = text;
101                 }
102                 else
103                 {
104                     if (textBox1.Text.Length > 0)
105                     {
106                         textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1) + text;
107                         textBox3.Text = text;
108                     }
109                     else
110                     {
111                         textBox3.Text = text;
112                     }
113                     yunsuanfu = false;
114                 }
115             }
116         }
117
118         //小数点
119         private void button25_Click(object sender, EventArgs e)
120         {
121             //判断上一步点击的是否是运算符
122             if (yunsuanfu == false)//不是运算符
123             {
124                 if (textBox2.Text.Contains(".") == false)
125                 {
126                     textBox2.Text = textBox2.Text + ".";
127                 }
128             }
129             else
130             {
131                 textBox2.Text = "0.";
132                 yunsuanfu = false;
133             }
134         }
135
136         //等号
137         private double jieguo = 0;
138         private string text4 = "";
139         private string text5 = "";
140         private void button28_Click(object sender, EventArgs e)
141         {
142             jieguo = jieguo1;
143             jieguo1 = 0;
144             text4 = textBox3.Text;
145             textBox3.Text = "";
146             text = "";
147             if (text4 == "")
148             {
149                 text4 = button28.Text;
150             }
151
152             textBox1.Clear();
153             textBox1.Text = "";
154             //判断上一步点击的是否是运算符
155             if (yunsuanfu == false)//不是运算符
156             {
157                 yunsuanfu = true;
158                 if (text4 == "+")
159                 {
160                     jieguo += Convert.ToDouble(textBox2.Text);
161                     textBox2.Text = jieguo.ToString();
162                 }
163                 else if (text4 == "-")
164                 {
165                     jieguo -= Convert.ToDouble(textBox2.Text);
166                     textBox2.Text = jieguo.ToString();
167                 }
168                 else if (text4 == "*")
169                 {
170                     if (jieguo != 0)
171                     {
172                         jieguo = jieguo * Convert.ToDouble(textBox2.Text);
173                     }
174                     else
175                     {
176                         jieguo = Convert.ToDouble(textBox2.Text);
177                     }
178                     textBox2.Text = jieguo.ToString();
179                 }
180                 else if (text4 == "/")
181                 {
182                     if (textBox2.Text != "0")
183                     {
184                         if (jieguo != 0)
185                         {
186                             jieguo = jieguo / Convert.ToDouble(textBox2.Text);
187                         }
188                         else
189                         {
190                             jieguo = Convert.ToDouble(textBox2.Text); ;
191                         }
192                         textBox2.Text = jieguo.ToString();
193                     }
194                     else
195                     {
196                         textBox2.Text = "除数不能为0";
197                     }
198                 }
199                 else if (text4 == "=")
200                 {
201                     jieguo = jieguo;
202                 }
203
204                 text5 = text4;
205                 text4 = button28.Text;
206             }
207             else
208             {
209                 yunsuanfu = false;
210                 double jishu = 0;
211                 if (text4 == "+")
212                 {
213                     jishu = jieguo;
214                     jieguo += jishu;
215
216                     textBox2.Text = jieguo.ToString();
217                 }
218                 else if (text4 == "-")
219                 {
220                     jishu = jieguo;
221                     jieguo -=jishu;
222
223                     textBox2.Text = jieguo.ToString();
224                 }
225                 else if (text4 == "*")
226                 {
227                     jishu = jieguo;
228                     jieguo=jieguo*jishu;
229
230                     textBox2.Text = jieguo.ToString();
231                 }
232                 else if (text4 == "/")
233                 {
234                     if (jieguo != 0)
235                     {
236                         jishu = jieguo;
237                         jieguo = jieguo / jishu;
238
239                         textBox2.Text = jieguo.ToString();
240                     }
241                     else
242                     {
243                         textBox2.Text = "除数不能为0";
244                     }
245                 }
246                 else if (text4 == "=")
247                 {
248                     jishu =Convert.ToDouble(textBox1.Text);
249                     if (text5 == "+")
250                     {
251                         jieguo+=jishu ;
252                     }
253                     else if (text5 == "-")
254                     {
255                         jieguo-=jishu;
256                     }
257                     else if (text5 == "*")
258                     {
259                         jieguo *=jishu;
260                     }
261                     else if (text5 == "/")
262                     {
263                         if (jishu != 0)
264                         {
265                             jieguo /= jishu;
266                         }
267                         else
268                         {
269                             textBox2.Text = "除数不能为0";
270                         }
271                     }
272                 }
273             }
274             yunsuanfu = false;
275
276         }
277         //按键C
278         private void button8_Click(object sender, EventArgs e)
279         {
280             textBox2.Clear();
281             textBox1.Clear();
282             textBox3.Clear();
283             textBox2.Text = "0";
284             textBox1.Text = "";
285             textBox3.Text = "";
286             jieguo = 0;
287             jieguo1 = 0;
288             yunsuanfu = false;
289             text = "";
290             text4 = "";
291             text5 = "";
292         }
293         //CE键
294         private void button7_Click(object sender, EventArgs e)
295         {
296
297             textBox2.Clear();
298             textBox2.Text = "0";
299         }
300         //退格键
301         private void button6_Click(object sender, EventArgs e)
302         {
303             if (textBox2.Text.Length > 1)
304             {
305                 textBox2.Text = textBox2.Text.Substring(0, textBox2.Text.Length - 1);
306             }
307             else if (textBox2.Text.Length == 1)
308             {
309                 textBox2.Text = textBox2.Text.Substring(0, textBox2.Text.Length - 1);
310                 textBox2.Text = "0";
311             }
312             else
313             {
314                 textBox2.Text = "0";
315             }
316         }
317         //主屏幕字体随个数变化而变化
318         private void textBox2_TextChanged(object sender, EventArgs e)
319         {
320             if (textBox2.Text.Length < 8)
321             {
322                 this.textBox2.Font = new System.Drawing.Font("宋体", 21.75f);
323             }
324             if (textBox2.Text.Length > 8)
325             {
326                 this.textBox2.Font = new System.Drawing.Font("宋体", 15f);
327             }
328             if (textBox2.Text.Length > 12)
329             {
330                 this.textBox2.Font = new System.Drawing.Font("宋体", 13f);
331             }
332             if (textBox2.Text.Length > 16)
333             {
334                 this.textBox2.Font = new System.Drawing.Font("宋体", 11f);
335             }
336         }

时间: 2024-10-24 03:51:45

winform制作简单计算器的相关文章

1.C#WinForm基础制作简单计算器

利用c#语言编写简单计算器: 源码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace 简单计算器 { public partial class Form1 : Form { public For

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

1.代码 1.1)test.l 1.2)test.y 1.3)Makefile (因为是在linux环境下,所以使用了Makefile) 2.编译与运行 2.1)编译 2.2)运行 1.代码(也可以在我的百度网盘下载:http://pan.baidu.com/s/1o65k7v8) 1.1)lex文件 test.l 1 %{ 2 #include <stdio.h> 3 #include "y.tab.h" 4 5 int 6 yywrap(void) 7 { 8 retu

【FLEX&amp;YACC】第二天制作一个简单计算器

首先写词法分析器: 词法分析器要返回记号: "+" 返回ADD "-" 返回SUB "*" 返回MUL "/" 返回DIV 输入的实数全部被当作double类型处理 换行符返回CR calc.l: %{#include <stdio.h>#include "y.tab.h"int yywrap(void){ /*免链接库文件*/    return 1;}%}%%[ \t]    { ;}&qu

用JavaScript制作简单的计算器

<html > <head> <title>简单计算器</title> <style type="text/css"> div{ margin:auto; background-color:#ff4365; width:550px; height:280px; border:ridge #ff4365 4px; } table{ width:500px; margin:auto; padding-top:10px; } td{

winform制作自定义控件(入门)

原文链接:http://blog.csdn.net/bychentufeiyang/article/details/7081402   与原文基本一致,只是例子变成VS2012环境,语言采用博主常用的VB.NET 一 .概述Windows 窗体控件是可再次使用的组件,它们封装了用户界面功能,并且可以用于客户端 Windows 应用程序.“Windows 窗体”不仅提供了许多现成控件,还提供了自行开发控件的基础结构.可以组合现有控件.扩展现有控件或创作自己的自定义控件.Windows 窗体控件是从

j2ee-JSP之简单计算器

来源韩顺平.j2ee视频实战教程jsp第1讲(下集) -------------------------------------------------------------------------------------------------------- 简单计算器,可以控制输入的数(仅第一个数)不能为空且不能为字符串 myCal.jsp代码 1 <!--这是计算器的界面 --> 2 <!-- 可以控制输入的数不能为空且不能为字符串 --> 3 <%@ page co

JAVA编写的简单计算器

package com.hellojava.practice.test; import java.awt.BorderLayout; import java.awt.GridLayout; import java.awt.Panel; import java.awt.TextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; impo

HDU1237 简单计算器 【栈】+【逆波兰式】

版本:1.0 日期:2014.5.17 2014.6.1 版权:© 2014 kince 转载注明出处 在介绍SwitchButton之前,先来看一下系统Button是如何实现的.源码如下: @RemoteView public class Button extends TextView { public Button(Context context) { this(context, null); } public Button(Context context, AttributeSet att

JSP制作简单登陆

JSP制作简单登陆界面 运行环境 eclipse+tomcat+MySQL 不知道的可以参考Jsp运行环境--Tomcat 项目列表 这里我先把jsp文件先放在Web-INF外面访问 需要建立的几个文件在图上.jsp 还要导入MySQL的jar包mysql-5.0.5.jar,导到WEB-INF中的lib文件夹就可以不需要Bulid Path 开始编写代码: 代码演示: index.jsp就好像一般网站的首页一样感觉,将header.jsp和footer.jsp引入其中 <%@ page lan