C# WinForm实现简单计算器(超详细)

您所在的位置:网站首页 老烧宝石和无烧宝石区别 C# WinForm实现简单计算器(超详细)

C# WinForm实现简单计算器(超详细)

#C# WinForm实现简单计算器(超详细)| 来源: 网络整理| 查看: 265

C# WinForm实现简单计算器(超详细)

注意: 软件:vs 2019 代码解析为了方便全部以注释的形式写在代码中

文章目录 C# WinForm实现简单计算器(超详细)前言一、创建项目二、编写程序1.程序分析界面分析 (窗口和控件大小自定义)(1)窗口大小 :800×500(2)控件数量(11个) 控件解析(1)1、2为两个输入项所以使用 TextBox 控件(2)3为 输出结果 不需要进行输入 所以定义为 Label(3)4、5、6、7是用来改变运算的直接使用 Button 就行(4)8、9直接定义为两个 Button(5) “10” 为 运算符 “11” 为 等于 都不需要点击和输入所以使用 Label 2.逻辑理解1)四个运算按钮是用来改变运算符的(4、5、6、7改变10)2)“等于”按钮需要用来计算结果并在“3”中显示3)“清除”按钮只需要来清除1、2、3中间的内容即可 3.代码实现(1)点击运算符按钮改变运算符(2)点击“等于”按钮输出结果并显示(解析看代码中的注释)(3)点击“清除”按钮清除输入和输出(解析看代码中的注释) 3、关于组件的对齐 总结

前言

这个程序很适合winform入门,毕竟我也是一个C#菜鸟 通过WinForm实现一个简单的计算器 先看一下 效果图: 在这里插入图片描述

一、创建项目

打开VS 2019→创建新项目→Window窗体应用 等待初始化

二、编写程序 1.程序分析

要知道自己要做什么。

界面分析 (窗口和控件大小自定义) (1)窗口大小 :800×500

请添加图片描述

(2)控件数量(11个)

从图中可知需要 11 个控件和一个背景图 1、2为:TextBox 4、5、6、7、8、9为:Button 3、10、11为:Label

控件解析 (1)1、2为两个输入项所以使用 TextBox 控件 (2)3为 输出结果 不需要进行输入 所以定义为 Label (3)4、5、6、7是用来改变运算的直接使用 Button 就行 (4)8、9直接定义为两个 Button (5) “10” 为 运算符 “11” 为 等于 都不需要点击和输入所以使用 Label 2.逻辑理解

(看下面的图):

在这里插入图片描述

1)四个运算按钮是用来改变运算符的(4、5、6、7改变10) 2)“等于”按钮需要用来计算结果并在“3”中显示 3)“清除”按钮只需要来清除1、2、3中间的内容即可 3.代码实现 (1)点击运算符按钮改变运算符

(代码如下)

// 加法运算 private void Add_Click(object sender, EventArgs e) { Operator.Text = "+"; } //减法运算 private void Sub_Click(object sender, EventArgs e) { Operator.Text = "-"; } //乘法运算 private void Mul_Click(object sender, EventArgs e) { Operator.Text = "×"; } //除法运算 private void Div_Click(object sender, EventArgs e) { Operator.Text = "÷"; }

代码解析: 任意点击一个运算符按钮改变运算符 即: 给“10”这个Label重新赋值: Operator.Text = "(运算符)" (如果自己没有给Label命名的话代码为:Label1.Text = “(运算符)”)

(2)点击“等于”按钮输出结果并显示(解析看代码中的注释)

(代码如下) 注意: “1”为Textbox1 改名为 value1 “2”为Textbox2 改名为 value2 “3”为 “输出”的 Label1 改名为 resultbox “8”为“等于”按钮 :Button1 改名为 result

//等于按钮 private void result_Click(object sender, EventArgs e) { //首先判断两个输入项是否为空 if (value1.Text == ""&&value2.Text == "") { //为 “真” 弹出一个提示框,提示输入数据 MessageBox.Show("请输入数据!","提示",MessageBoxButtons.OK, MessageBoxIcon.Error); } else { //为 “假” 则开始运算 //定义两个double变量分别用来存放两个输入项的数据 double value1, value2; //优化一下,避免第二项没有输入导致运算出错 //所以当value2.Text为空时,减value2赋值为0 保证运算结果 if (value2.Text == "") { //将 value1.Text 转为 double 类型的数值 并赋给 value1 value1 = Convert.ToDouble(value1.Text); //value2.Text内容为“空” 将 value2 赋值为 0 value2 = 0; } else { //value2.Text内容为不为空 //将 value1.Text 转为 double 类型的数值 并赋给 value1 value1 = Convert.ToDouble(value1.Text); //将 value2.Text 转为 double 类型的数值 并赋给 value2 value2 = Convert.ToDouble(value2.Text); } //Operator.Text的内容为“”字符串类型 //switch只能接收单个字符、变量、表达式 //将Operator.Text转为“字符”类型 //(明确我们只在Operator.Text放了一个字符) switch (Convert.ToChar(Operator.Text)) { //注意:case后面的字符一定要与Operator.Text中的字符相同(不要问我为什么) case '+': //resultbox.Text = (value1 + value2).ToString(); //解释一下为什么怎么写以及这个表达式的运算步骤 : //先将(value1 + value2)的值转成字符串 然后赋值给resultbox.Text并在窗口中显示 resultbox.Text = (value1 + value2).ToString(); break; case '-': resultbox.Text = (value1 - value2).ToString(); break; case '×': resultbox.Text = (value1 * value2).ToString(); break; case '÷': //在除法运算中 除数不能为0的情况 if (value2==0) { resultbox.Text = "除数不能为零"; } else { resultbox.Text = (value1 / value2).ToString(); } break; } } }

除数为0的情况(如下图) 在这里插入图片描述

(3)点击“清除”按钮清除输入和输出(解析看代码中的注释)

(代码如下)

//清除按钮 private void clear_Click(object sender, EventArgs e) { //将三个组件里面的内容赋值为空就可以了 value1.Text = ""; value2.Text = ""; resultbox.Text = ""; } 3、关于组件的对齐

在“设计”视图中选择要对其的一些组件(可以直接通过鼠标进行框选) 可以直接设置水平或垂直方向的间距相等 在这里插入图片描述

总结

提示:这里对文章进行总结:

首先说明本片文章主要是讲解这个简单“计算器”的实现的逻辑和原理 关于窗口的美化没什么好说的,可以自己去网上找窗口皮肤包下载 背景添加和控件的自己去摸索,这个我就不过多的赘述 以上就是今天要讲的内容,本文简单讲解了WinfForm程序的创建与使用 和简易计算器的逻辑结构

还有一个问题: 关于textbox中只想输入数字的方法可以自己去找解决方法(当然最简单的还是直接问我啦 )

答应我:从今天起做一个大方的人 请添加图片描述

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3