用c#实现简易的计算器功能实例代码

 更新时间:2019年05月13日 16:02:37   作者:臨鱼羡上天  
这篇文章主要介绍了c#实现简易的计算器功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

由于今天在网上搜了一下c#写的计算器,发现大多都太繁琐了,很多没必要并且不容易理解的东西就专门写了这个博客

1.首先新建一个windows窗体应用的项目。执行文件-新建-项目-windows窗体应用

2.在工具箱中拖出一个textbox用于输入和显示,再拖出21个button按钮用来当计算器的按键,在textbox下面还有一个lable控件(我把它属性改成了空格所以看不到了),改一下按钮的text属性

3.双击数字按钮进入代码界面(数字只用一个事件即可,运算符也是用一个事件,其他每个按钮都需要双击添加事件)

4.代码呢已经准备好了,只要双击按钮进入代码界面,然后对应着粘上就行了(注意所有数字都是用的一个事件,都有标注,可以选择按钮,然后单击属性里的事件(闪电图标)查看click的事件)

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 计算器
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
//定义变量
char oper;
double num1;
double num2;
double result = 0;
double memory=0.0;
private void Button9_Click(object sender, EventArgs e)//数字按钮的功能实现
{
Button a = (Button)sender;//判断按下的是哪个按钮
if (textBox1.Text == “0”)
{
textBox1.Text = a.Text;
}
else
textBox1.Text += a.Text;
}
private void Button16_Click(object sender, EventArgs e)//运算符按钮的功能实现
 {
  if (textBox1.Text != "")
  {
   num1 = double.Parse(textBox1.Text);
   oper = char.Parse(((Button)sender).Text);
   textBox1.Text = "";
  }
 }

 private void Button15_Click(object sender, EventArgs e)//C按钮的功能实现
 {
  textBox1.Text = "";
  textBox1.Focus();
  num1 = 0;
  num2 = 0;
  oper = ' ';
 }

 private void Button14_Click(object sender, EventArgs e)//结果按钮的功能实现
 {
  if (textBox1.Text != "")
  {
   num2 = double.Parse(textBox1.Text);
   switch (oper)
   {
    case '+': result = num1 + num2; break;
    case '-': result = num1 - num2; break;
    case '*': result = num1 * num2; break;
    case '÷': result = num1 / num2; break;
   }
   textBox1.Text = result.ToString();
  }
 }

 private void Button17_Click(object sender, EventArgs e)//小数点按钮的功能实现
 {
  if (textBox1.Text != "")
  {
   textBox1.Text += ".";
  }
  else
  {
   textBox1.Text = "0.";
  }
 }

 private void Button18_Click(object sender, EventArgs e)//M+按钮的功能实现
 {
  if(textBox1.Text!="")
  {
   label1.Text = "M";
   memory += double.Parse(textBox1.Text);
   textBox1.Text = " ";
  }
 }

 private void Button20_Click(object sender, EventArgs e)//MR按钮的功能实现
 {
  textBox1.Text = memory.ToString();
 }

 private void Button21_Click(object sender, EventArgs e)//MC按钮的功能实现
 {
  label1.Text = "";
  memory = 0;
 }

 private void Button19_Click(object sender, EventArgs e)//M-按钮的功能实现
 {
  if (textBox1.Text != "")
  {
   label1.Text = "M";
   memory -= double.Parse(textBox1.Text);
   textBox1.Text = " ";
  }
 }

}

以上所述是小编给大家介绍的c#实现简易的计算器功能详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 利用WCF双工模式实现即时通讯

    利用WCF双工模式实现即时通讯

    这篇文章主要介绍了利用WCF双工模式实现即时通讯的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • C# 在PDF中添加墨迹注释Ink Annotation的步骤详解

    C# 在PDF中添加墨迹注释Ink Annotation的步骤详解

    PDF中的墨迹注释表现为徒手涂鸦式的形状,该类型的注释,可任意指定形状顶点的位置及个数,通过指定的顶点,程序将连接各点绘制成平滑的曲线,下面通过C#程序代码介绍下在pdf中添加注释的步骤,感兴趣的朋友一起看看吧
    2022-02-02
  • C#实现数据导出任一Word图表的通用呈现方法

    C#实现数据导出任一Word图表的通用呈现方法

    应人才测评产品的需求,导出测评报告是其中一个重要的环节,报告的文件类型也多种多样,其中WORD输出也扮演了一个重要的角色,本文给大家介绍了C#实现数据导出任一Word图表的通用呈现方法及一些体会,需要的朋友可以参考下
    2023-10-10
  • C# WebApi 路由机制剖析

    C# WebApi 路由机制剖析

    这篇文章主要介绍了C# WebApi 路由机制剖析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • C#在MySQL大量数据下的高效读取、写入详解

    C#在MySQL大量数据下的高效读取、写入详解

    最近由于工作的原因,经常需要对海量数据进行处理,做的数据爬虫相关,动辄千万级别的数据,单表几十个G 都是都是家常便饭。 那么主要的开发语言是C#,数据库使用的是MySQL。下面通过这篇文章我们来一起学习学习吧。
    2016-11-11
  • C#实现线程安全的简易日志记录方法

    C#实现线程安全的简易日志记录方法

    这篇文章主要介绍了C#实现线程安全的简易日志记录方法,比较实用的功能,需要的朋友可以参考下
    2014-08-08
  • C#日期转换函数分享

    C#日期转换函数分享

    这篇文章介绍了C#日期转换函数,有需要的朋友可以参考一下
    2013-10-10
  • C#利用ScriptControl动态执行JS和VBS脚本

    C#利用ScriptControl动态执行JS和VBS脚本

    C#中利用ScriptControl动态执行JS和VBS脚本的实现方法,需要的朋友可以参考下
    2013-04-04
  • C# Socket文件上传至服务器的操作方法

    C# Socket文件上传至服务器的操作方法

    文件上传有FTP、WebApi、WebService等等,这次我们来实现一个基于socket通信的本地客户端上传文件到服务器的例子,这篇文章主要介绍了C# Socket文件上传至服务器的操作方法,需要的朋友可以参考下
    2024-05-05
  • C# Dynamic之:ExpandoObject,DynamicObject,DynamicMetaOb的应用(上)

    C# Dynamic之:ExpandoObject,DynamicObject,DynamicMetaOb的应用(上)

    本篇文章对C#中ExpandoObject,DynamicObject,DynamicMetaOb的应用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05

最新评论