700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C#:Windows窗体应用程序 计算器(一)

C#:Windows窗体应用程序 计算器(一)

时间:2020-12-08 08:20:49

相关推荐

C#:Windows窗体应用程序 计算器(一)

效果图

长相丑陋,功能单一的初代计算器,只能实现两个数之间的加减乘除和取余。判断小数点是否重复输入,可以在文本框输入数字和小数点,判断输入数据是否合法(不能输入字母符号空格等)

二代计算器:/Cristiano272/article/details/105545168

calculator.cs代码如下:

using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Text.RegularExpressions;namespace Complex{public partial class Calculator : Form{private decimal leftNumber; //第一次输入的数,即被加数或被减数或被乘数或被除数或被余数private String operatorStr; //记录运算符private Boolean isDot; //判断小数点是否已输入过public Calculator(){InitializeComponent();}//按下+、-、*、/按钮private void bntOperation_Click(object sender, EventArgs e){Regex regex = new Regex("^[0-9.]*$");if (!regex.IsMatch(txtBResult.Text)){MessageBox.Show("输入数据不合法");txtBResult.Focus();return;} //判断是否只含数字和小数点leftNumber = Decimal.Parse(txtBResult.Text);txtBResult.Text = "0";isDot = false;Button btn = (Button)sender;if (btn.Equals(btnPlus))operatorStr = "+";else if (btn.Equals(btnMinus))operatorStr = "-";else if (btn.Equals(btnMod))operatorStr = "%";else if (btn.Equals(btnMultioly))operatorStr = "*";elseoperatorStr = "/";}//按下=按钮private void bntEqual_Click(object sender, EventArgs e){Regex regex = new Regex("^[0-9.]*$");if (!regex.IsMatch(txtBResult.Text)){MessageBox.Show("输入数据不合法");txtBResult.Focus();return;} //判断是否只含数字和小数点decimal crtNumber = Decimal.Parse(txtBResult.Text);switch (operatorStr){case "+": txtBResult.Text = (crtNumber + leftNumber).ToString(); break;case "-": txtBResult.Text = (leftNumber - crtNumber).ToString(); break;case "*": txtBResult.Text = (crtNumber * leftNumber).ToString(); break;case "/": txtBResult.Text = (leftNumber / crtNumber).ToString(); break;case "%": txtBResult.Text = (leftNumber % crtNumber).ToString(); break;}}//按下数字键private void btn_Click(object sender, EventArgs e){int t = 0;Button btn = (Button)sender;if (btn.Equals(btn1))t = 1;else if (btn.Equals(btn1))t = 1;else if(btn.Equals(btn2))t = 2;else if(btn.Equals(btn3))t = 3;else if (btn.Equals(btn4))t = 4;else if (btn.Equals(btn5))t = 5;else if (btn.Equals(btn6))t = 6;else if (btn.Equals(btn7))t = 7;else if (btn.Equals(btn8))t = 8;else if (btn.Equals(btn9))t = 9;if (txtBResult.Text == "0")txtBResult.Text = t.ToString();else txtBResult.Text = txtBResult.Text + t.ToString();}//按下BackSpace按钮private void bntBackSpace_Click(object sender, EventArgs e){if (txtBResult.Text.Substring(0, txtBResult.TextLength - 1) == "")txtBResult.Text = "0";else{if (txtBResult.Text[txtBResult.TextLength - 1] == '.')isDot = false;txtBResult.Text = txtBResult.Text.Substring(0, txtBResult.TextLength - 1);}}//按下Clear按钮private void bntClear_Click(object sender, EventArgs e){txtBResult.Text = "0";}//按下小数点.按钮private void bntDot_Click(object sender, EventArgs e){if (isDot == false){isDot = true;txtBResult.Text += ".";}}}}

项目下载链接:/download/Cristiano272/12325191

另一个C# Winform程序

C#:Winform 打字测速程序 Typer:/Cristiano272/article/details/105598495

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。