C#编写简单窗体计算器
来源:互联网 发布:运行windows窗口管理器 编辑:程序博客网 时间:2024/06/01 08:52
说起来话长......
大一学习了一年C++了,一直想做一个 GUI的简单计算器,但是在经历各种折磨之后决定放弃。。。。。
因为偶然的机会开始接触学习C#,或许因为有C++的基础,感觉上手还算容易!
在自学窗体后,又突然想起了曾经这个美妙的想法!话不多说,说做就做,在借鉴几篇博客之后,结果如下。
由于本人水平有限,大神莫见笑。
效果图:
C#实现简单计算器,代码如下:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace Calculator{ public partial class Form1 : Form { private double num1 = 0; // 第一操作数 private double num2 = 0; // 第二操作数 private double num3 = 0; // 两操作数结果 private string sign; // 运算符号 private bool flag = true; // 检查是否为第一操作数 public void Input_1(string s) { textBox1.Text += s; num1 = Convert.ToDouble(textBox1.Text); } public void Input_2(string s) { textBox1.Text += s; num2 = Convert.ToDouble(textBox1.Text); } public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { label1.Text = "是的!这只是一个垃圾计算器,他还有BUG!"; linkLabel1.Links[0].LinkData = "http://www.lhldev.cn"; } private void button1_Click(object sender, EventArgs e) { if (flag) { Button b = (Button)sender; Input_1(b.Text); } else { Button b = (Button)sender; Input_2(b.Text); } } private void button2_Click(object sender, EventArgs e) { if (flag) { Button b = (Button)sender; Input_1(b.Text); } else { Button b = (Button)sender; Input_2(b.Text); } } private void button3_Click(object sender, EventArgs e) { if (flag) { Button b = (Button)sender; Input_1(b.Text); } else { Button b = (Button)sender; Input_2(b.Text); } } private void button4_Click(object sender, EventArgs e) { if(flag) { Button b = (Button)sender; Input_1(b.Text); } else { Button b = (Button)sender; Input_2(b.Text); } } private void button5_Click(object sender, EventArgs e) { if (flag) { Button b = (Button)sender; Input_1(b.Text); } else { Button b = (Button)sender; Input_2(b.Text); } } private void button6_Click(object sender, EventArgs e) { if(flag) { Button b = (Button)sender; Input_1(b.Text); } else { Button b = (Button)sender; Input_2(b.Text); } } private void button7_Click(object sender, EventArgs e) { if(flag) { Button b = (Button)sender; Input_1(b.Text); } else { Button b = (Button)sender; Input_2(b.Text); } } private void button8_Click(object sender, EventArgs e) { if(flag) { Button b = (Button)sender; Input_1(b.Text); } else { Button b = (Button)sender; Input_2(b.Text); } } private void button9_Click(object sender, EventArgs e) { if(flag) { Button b = (Button)sender; Input_1(b.Text); } else { Button b = (Button)sender; Input_2(b.Text); } } private void button10_Click(object sender, EventArgs e) // 0 { if(textBox1.Text!="") { if(flag) { Button b = (Button)sender; Input_1(b.Text); } else { Button b = (Button)sender; Input_2(b.Text); } } } private void button13_Click(object sender, EventArgs e) { sign = "+"; textBox1.Text = ""; flag = false; } private void button14_Click(object sender, EventArgs e) { sign = "-"; textBox1.Text = ""; flag = false; } private void button15_Click(object sender, EventArgs e) { sign = "*"; textBox1.Text = ""; flag = false; } private void button19_Click(object sender, EventArgs e) { sign = "/"; textBox1.Text = ""; flag = false; } private void button23_Click(object sender, EventArgs e) { sign = "ln"; textBox1.Text = ""; flag = false; } private void button22_Click(object sender, EventArgs e) { sign = "pow"; textBox1.Text = ""; flag = false; } private void button21_Click(object sender, EventArgs e) { sign = "sqrt"; textBox1.Text = ""; flag = false; } private void button20_Click(object sender, EventArgs e) { sign = "%"; textBox1.Text = ""; flag = false; } private void button18_Click(object sender, EventArgs e) // 相反数 { sign = "bw"; textBox1.Text = ""; flag = false; } private void button11_Click(object sender, EventArgs e) //小数点 { if(textBox1.Text=="") { textBox1.Text = "0."; } else if(textBox1.Text.IndexOf(".")>=0) { MessageBox.Show("已经添加小数点l!", "提示"); } else { textBox1.Text += "."; } } private void button12_Click(object sender, EventArgs e) // = { flag = true; switch(sign) { case "+": num3 = num1 + num2; break; case "-": num3 = num1 - num2; break; case "*": num3 = num1 * num2; break; case "/": { textBox1.Text = ""; if(num2==0) { textBox1.Clear(); MessageBox.Show("除数不能为0", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); break; } else { num3 = num1 / num2; break; } } case "%": { textBox1.Text = ""; if (num2 == 0) { textBox1.Clear(); MessageBox.Show("除数不能为0", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Warning); break; } else { num3 = num1 % num2; break; } } case "bw": num3 = 1 / num1; break; case "pow": num3 = Math.Pow(num1, 2); break; case "ln": num3 = Math.Log(num1,Math.E); break; case "sqrt": num3 = Math.Sqrt(num1); break; } textBox1.Text = num3.ToString(); num1 = num3; } private void button17_Click(object sender, EventArgs e) // C { textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1); //字符串剪切 if(flag) { num1 = double.Parse(textBox1.Text); } else { num2 = double.Parse(textBox1.Text); } } private void button16_Click(object sender, EventArgs e) // CE { textBox1.Text = ""; num1 = 0; num2 = 0; num3 = 0; } private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { System.Diagnostics.Process.Start(e.Link.LinkData.ToString()); } }}
如有bug 还望指教!
阅读全文
1 0
- C#编写简单窗体计算器
- C#窗体-简单计算器
- c#简单计算器编写
- 计算器1 ------C#窗体
- 计算器2------C#窗体
- C#编写的计算器
- c#编写简易计算器
- C# 编写计算器
- C#简单计算器2月25日编写失败
- C#基础视频教程4.1 如何编写简单的计算器
- C#基础视频教程4.2 如何编写简单的计算器
- C#基础视频教程4.3 如何编写简单的计算器
- C++编写简单计算器
- javaScript编写简单计算器
- JavaScript编写简单计算器
- C#编写简单的调色板及设置窗体的透明度
- C#基础:用记事本编写简单WinForm窗体程序
- C#简单计算器
- GYM100702 D
- PHP常量
- POJ 1294 Not Too Convex Hull 笔记
- Can‘t connet to repository from configured remote.
- 170611 逆向-gctf的debug的writeup
- C#编写简单窗体计算器
- django+gunicorn+nginx, WebSocket无法正常连接
- 好用用的linux 监控命令
- python面向对象(初级篇)
- 淘淘商城系列——网页静态化——业务逻辑及测试
- BRVAH官方使用指南(持续更新)
- 个人博客
- 删除github中的repository后,依旧提示“ project is already on GitHub”
- 模板类的构造函数调用错误问题分析