当前位置:网站首页>C#实现简单的计算器
C#实现简单的计算器
2022-08-02 14:12:00 【夏湾】
C#实现简单的计算器
环境:VS2010及以上版本
- 建立个Window窗体应用

- 在工具箱里拖出两个TextBox,第一个放上面,第二个放下面 。主要这里的Name,上面是textBox1,下面是textBox2。这涉及到后面代码的书写

- 在工具栏里拖动Button,摆放好。可利用上面的对齐工具辅助设计。

- 在属性里改变各Button的Text,如下

注意这里的1~9,小数点,±*/ 的Text应只有一个字符,不要多输。← - 选中任意一个Button,右键,选择查看代码,转到Form1.cs

- 开始写代码
- AddNum 修改TextBox的Text,应用于1~9与小数点的Click事件
- Reset 重置temp、myoperator,以及两个TextBox的Text
- Delete 删除textBox2的Text最后一个字符
- Calculate 把textBox2的Text转为double给temp,修改myoperator
- Equal 具体的计算
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//----上面是自动生成的代码,下面得我们手写----
private double temp = 0; //存储临时数据
private char myoperator = ' '; //判断之前按的是+-*/中的哪个
private void AddNum(object sender, EventArgs e)
{ // 1~9与小数点的Click事件
//sender是引发该事件的控件,这里我们拆箱为Button
Button button = (Button)sender;
textBox2.Text += button.Text;
}
private void Reset(object sender, EventArgs e)
{ // CE的Click事件
temp = 0;
myoperator = ' ';
textBox1.Text = textBox2.Text = "";
}
private void Delete(object sender, EventArgs e)
{ // ←的Click事件
//移除最后一个字符
if (textBox2.TextLength > 0)
textBox2.Text = textBox2.Text.Remove(textBox2.TextLength - 1);
}
private void Calculate(object sender, EventArgs e)
{ // +-*/的Click事件
Button button = (Button)sender;
if (double.TryParse(textBox2.Text, out temp)) //尝试把textBox2的Text转为double并赋值给temp
{
myoperator = button.Text[0]; //Text是string,取第一个字符
textBox1.Text = temp.ToString() + ' ' + myoperator;
textBox2.Text = "";
}
else
{ //转换失败,重置所有
Reset(sender, e);
}
}
private void Equal(object sender, EventArgs e)
{ // = 的Click事件,计算并显示
double temp2;
//尝试转换,失败则重置并返回
if (!double.TryParse(textBox2.Text, out temp2)) { Reset(sender, e); return; }
switch (myoperator)
{
case '+':
temp += temp2;
break;
case '-':
temp -= temp2;
break;
case '*':
temp *= temp2;
break;
case '/':
temp /= temp2;
break;
default:
break;
}
textBox1.Text = "";
textBox2.Text = temp.ToString();
}
}
}
- 设置各Button的Click事件
- AddNum: 1~9与小数点的Click事件
- Reset:CE的Click事件
- Delete:←的Click事件
- Calculate :±*/的Click事件
- Equal:= 的Click事件

- 启动(F5)
边栏推荐
- 企业的电子签名、私钥签名
- Based on the matrix calculation in the linear regression equation of the coefficient estimates
- mysql的索引结构为什么选用B+树?
- 剑指offer:数值的整数次方
- Unity-PlayMaker
- 学习笔记(01):activiti6.0从入门到精通-工作流的介绍以及插件的安装
- Problems related to prime numbers - small notes
- casbin模型
- Golang 垃圾回收机制详解
- In-depth understanding of Golang's Map
猜你喜欢
随机推荐
What should I do if Windows 10 cannot connect to the printer?Solutions for not using the printer
【STM32学习1】基础知识与概念明晰
Installation and configuration of Spark and related ecological components - quick recall
关于混淆的问题
KiCad常用快捷键
lua编程
极简式 Unity 获取 bilibili 直播弹幕、SC、上舰、礼物等 插件
MATLAB绘图函数fplot详解
Codeforces Round #624 (Div. 3)
STM32LL库——USART中断接收不定长信息
pygame draw arc
Unity-编辑器扩展(Editor)
Codeforces Round #605 (Div. 3)
Problems related to prime numbers - small notes
戴森球计划这个游戏牛逼
第二十五章:一文掌握while循环
1.开发社区首页,注册
Happy, 9/28 scene collection
Unity-PlayMaker
奇技淫巧-位运算









