zoukankan      html  css  js  c++  java
  • 简单计算器

    简单计算器,暂时label控件的显示功能还不完善,不想了,就这样

    界面设计:

    显示计算公式:lblShow

    显示按下的数字和结果:txtShow

    0-9按钮:btnZero~btnNine

    按钮点:btnPoint

    加:btnAdd

    减:btnMinus

    乘:btnMultiply

    除:btnDivided

    回退:btnFallback

    CE按钮:btnCE

    C按钮:btnC

    等于按钮:btnEqual

    为防止误操作,把文本框的属性设置成不可手动修改:

    原文本框高度太小,属性修改:

    详细代码:

      1 using System;
      2 using System.Collections.Generic;
      3 using System.ComponentModel;
      4 using System.Data;
      5 using System.Drawing;
      6 using System.Linq;
      7 using System.Text;
      8 using System.Threading.Tasks;
      9 using System.Windows.Forms;
     10 
     11 namespace 计算器
     12 {
     13     public partial class Counter : Form
     14     {
     15         public Counter()
     16         {
     17             InitializeComponent();
     18         }
     19         //设置全局变量
     20         //加减乘除运算符
     21         string Operator;
     22         //前数值
     23         decimal FrontValue;
     24         //后数值
     25         decimal BehindValue;
     26         //判断已有小数点
     27         bool AlreadyPoint=false;
     28         //判断已等于
     29         bool AlreadyEqual = false;
     30 
     31         private void Counter_Load(object sender, EventArgs e)
     32         {
     33             lblShow.Text = "";
     34         }
     35 
     36         private void btnZero_Click(object sender, EventArgs e)
     37         {
     38             if (AlreadyEqual == true)
     39             {
     40                 txtShow.Text = "";
     41                 lblShow.Text = "";
     42                 AlreadyEqual = false;
     43             }
     44             txtShow.Text += 0;
     45             lblShow.Text += 0;
     46         }
     47 
     48         private void btnOne_Click(object sender, EventArgs e)
     49         {
     50             if (AlreadyEqual == true)
     51             {
     52                 txtShow.Text = "";
     53                 lblShow.Text = "";
     54                 AlreadyEqual = false;
     55             }
     56             txtShow.Text += 1;
     57             lblShow.Text += 1;
     58         }
     59 
     60         private void btnTwo_Click(object sender, EventArgs e)
     61         {
     62             if (AlreadyEqual == true)
     63             {
     64                 txtShow.Text = "";
     65                 lblShow.Text = "";
     66                 AlreadyEqual = false;
     67             }
     68             txtShow.Text += 2;
     69             lblShow.Text += 2;
     70         }
     71 
     72         private void btnThree_Click(object sender, EventArgs e)
     73         {
     74             if (AlreadyEqual == true)
     75             {
     76                 txtShow.Text = "";
     77                 lblShow.Text = "";
     78                 AlreadyEqual = false;
     79             }
     80             txtShow.Text += 3;
     81             lblShow.Text += 3;
     82         }
     83 
     84         private void btnFour_Click(object sender, EventArgs e)
     85         {
     86             if (AlreadyEqual == true)
     87             {
     88                 txtShow.Text = "";
     89                 lblShow.Text = "";
     90                 AlreadyEqual = false;
     91             }
     92             txtShow.Text += 4;
     93             lblShow.Text += 4;
     94         }
     95 
     96         private void btnFive_Click(object sender, EventArgs e)
     97         {
     98             if (AlreadyEqual == true)
     99             {
    100                 txtShow.Text = "";
    101                 lblShow.Text = "";
    102                 AlreadyEqual = false;
    103             }
    104             txtShow.Text += 5;
    105             lblShow.Text += 5;
    106         }
    107 
    108         private void btnSix_Click(object sender, EventArgs e)
    109         {
    110             if (AlreadyEqual == true)
    111             {
    112                 txtShow.Text = "";
    113                 lblShow.Text = "";
    114                 AlreadyEqual = false;
    115             }
    116             txtShow.Text += 6;
    117             lblShow.Text += 6;
    118         }
    119 
    120         private void btnSeven_Click(object sender, EventArgs e)
    121         {
    122             if (AlreadyEqual == true)
    123             {
    124                 txtShow.Text = "";
    125                 lblShow.Text = "";
    126                 AlreadyEqual = false;
    127             }
    128             txtShow.Text += 7;
    129             lblShow.Text += 7;
    130         }
    131 
    132         private void btnEight_Click(object sender, EventArgs e)
    133         {
    134             if (AlreadyEqual == true)
    135             {
    136                 txtShow.Text = "";
    137                 lblShow.Text = "";
    138                 AlreadyEqual = false;
    139             }
    140             txtShow.Text += 8;
    141             lblShow.Text += 8;
    142         }
    143 
    144         private void btnNine_Click(object sender, EventArgs e)
    145         {
    146             if (AlreadyEqual == true)
    147             {
    148                 txtShow.Text = "";
    149                 lblShow.Text = "";
    150                 AlreadyEqual = false;
    151             }
    152             txtShow.Text += 9;
    153             lblShow.Text += 9;
    154         }
    155 
    156         private void btnPoint_Click(object sender, EventArgs e)
    157         {
    158             if (AlreadyEqual == true)
    159             {
    160                 txtShow.Text = "";
    161             }
    162             if (txtShow.Text != "" && AlreadyPoint==false)
    163             {
    164                 AlreadyPoint = true;
    165                 txtShow.Text += ".";
    166             }
    167         }
    168         //
    169         private void btnAdd_Click(object sender, EventArgs e)
    170         {
    171             if (txtShow.Text != "")
    172             {
    173                 FrontValue += decimal.Parse(txtShow.Text);
    174                 txtShow.Text = "";
    175                 lblShow.Text += " + ";
    176                 Operator = "add";
    177                 AlreadyPoint = false;
    178             }
    179         }
    180         //
    181         private void btnMinus_Click(object sender, EventArgs e)
    182         {
    183             if (txtShow.Text != "")
    184             {
    185                 FrontValue += decimal.Parse(txtShow.Text);
    186                 txtShow.Text = "";
    187                 lblShow.Text += " - ";
    188                 Operator = "Minus";
    189                 AlreadyPoint = false;
    190             }
    191         }
    192         //
    193         private void btnMultiply_Click(object sender, EventArgs e)
    194         {
    195             if (txtShow.Text != "")
    196             {
    197                 FrontValue += decimal.Parse(txtShow.Text);
    198                 txtShow.Text = "";
    199                 lblShow.Text += " * ";
    200                 Operator = "Multiply";
    201                 AlreadyPoint = false;
    202             }
    203         }
    204         //
    205         private void btnDivided_Click(object sender, EventArgs e)
    206         {
    207             if (txtShow.Text != "")
    208             {
    209                 FrontValue += decimal.Parse(txtShow.Text);
    210                 txtShow.Text = "";
    211                 lblShow.Text += " / ";
    212                 Operator = "Divided";
    213                 AlreadyPoint = false;
    214             }
    215         }
    216         //等于
    217         private void btnEqual_Click(object sender, EventArgs e)
    218         {
    219             switch(Operator)
    220             {
    221                 case "add":
    222                 BehindValue = FrontValue + decimal.Parse(txtShow.Text);
    223                 break;
    224                 case "Minus":
    225                 BehindValue = FrontValue - decimal.Parse(txtShow.Text);
    226                 break;
    227                 case "Multiply":
    228                 BehindValue = FrontValue * decimal.Parse(txtShow.Text);
    229                 break;
    230                 case "Divided":
    231                 BehindValue = FrontValue / decimal.Parse(txtShow.Text);
    232                 break;
    233             }
    234             txtShow.Text = BehindValue.ToString();
    235             FrontValue = 0;
    236             AlreadyEqual = true;
    237             AlreadyPoint = false;
    238             lblShow.Text = txtShow.Text;
    239         }
    240         //CE清除当前数
    241         private void btnCE_Click(object sender, EventArgs e)
    242         {
    243             txtShow.Text = "";
    244             //清除功能对lblShow缺失,没想到好方法
    245             lblShow.Text = "";
    246         }
    247         //C全清
    248         private void btnC_Click(object sender, EventArgs e)
    249         {
    250             txtShow.Text = "";
    251             lblShow.Text = "";
    252             //加减乘除运算符
    253             Operator="";
    254             //前数值
    255             FrontValue=0;
    256             //后数值
    257             BehindValue=0;
    258             //判断已有小数点
    259             AlreadyPoint = false;
    260             //判断已等于
    261             AlreadyEqual = false;
    262         }
    263         //回退功能
    264         private void btnFallback_Click(object sender, EventArgs e)
    265         {
    266             if (txtShow.Text != "")
    267             {
    268                 txtShow.Text = txtShow.Text.Substring(0, txtShow.Text.Length-1);
    269                 lblShow.Text = lblShow.Text.Substring(0, lblShow.Text.Length - 1);
    270             }
    271         }
    272     }
    273 }

    运行效果:

    附源码下载:

    简单计算器.rar

  • 相关阅读:
    Recommended Books for Algo Trading in 2020
    Market Making is simpler than you think!
    Top Crypto Market Makers of 2020
    Top Crypto Market Makers, Rated and Reviewed
    爬取伯乐在线文章(五)itemloader
    爬取伯乐在线文章(四)将爬取结果保存到MySQL
    爬取伯乐在线文章(三)爬取所有页面的文章
    爬取伯乐在线文章(二)通过xpath提取源文件中需要的内容
    爬取伯乐在线文章(一)
    爬虫去重策略
  • 原文地址:https://www.cnblogs.com/start-from-scratch/p/5437278.html
Copyright © 2011-2022 走看看