zoukankan      html  css  js  c++  java
  • C#窗体计算器

    主要使用的是TextBox和button控件

    复制代码
      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 WindowsFormsApplication1
     12 {
     13     public partial class jisuanqi : Form
     14     {
     15         //存储上次点击了什么按钮,0代表什么都没点击,1代表点击了数字按钮,2代表点击了运算符
     16         private int prev = 0;
     17         //存储中间结果
     18         private decimal zjjg = 0;
     19         //记录上次按的什么运算符
     20         private string  preysf = "+";
     21         //记录上次按的是等号
     22         private int denghao = 0;
     23 
     24 
     25         public jisuanqi()
     26         {
     27             InitializeComponent();
     28         }
     29 
     30         private void button1_Click(object sender, EventArgs e)
     31         {
     32             Button btn = sender as Button;
     33 
     34             //替换(如果下面文本框内容为0或者上次点击了运算符)
     35             if (prev == 2 || TXTbottom.Text == "0")
     36             {
     37                 TXTbottom.Text = btn.Text;
     38             }
     39             //追加(如果下面文本框内容不为0并且上次没有点击运算符)
     40             else
     41             {
     42                 TXTbottom.Text += btn.Text;
     43             }
     44 
     45             prev = 1;
     46             
     47         }
     48 
     49         private void button4_Click(object sender, EventArgs e)
     50         {
     51             Button btn = sender as Button;
     52 
     53            
     54 
     55             //上次按了数字
     56             if (prev == 1)
     57             {
     58                 TXTTOP.Text += TXTbottom.Text + btn.Text;
     59                 switch (preysf)
     60                 {
     61                     case "+":
     62                         zjjg = zjjg + Convert.ToDecimal(TXTbottom.Text);
     63                         break;
     64                     case "-":
     65                         zjjg = zjjg - Convert.ToDecimal(TXTbottom.Text);
     66                         break;
     67                     case "*":
     68                         zjjg = zjjg * Convert.ToDecimal(TXTbottom.Text);
     69                         break;
     70                     case "/":
     71                         zjjg = zjjg / Convert.ToDecimal(TXTbottom.Text);
     72                         break;
     73                 }
     74                 TXTbottom.Text = zjjg.ToString();
     75             }
     76             //上次按了运算符///
     77             else
     78             {
     79                 string s = TXTTOP.Text;
     80                 if (s.Length >= 1)
     81                 {
     82                     s = s.Substring(0, s.Length - 1);
     83                     s = s + btn.Text;
     84                 }
     85                 else
     86                 {
     87                     s = "0";
     88                     s = s + btn.Text;
     89                 }
     90                 TXTTOP.Text = s;
     91             }
     92             //加号
     93             prev = 2;
     94             preysf = btn.Text;
     95         }
     96 
     97         private void button15_Click(object sender, EventArgs e)
     98         {
     99             TXTTOP.Text = "";
    100             TXTbottom.Text = "0";
    101             prev = 0;
    102             zjjg = 0;
    103             preysf = "+";
    104         }
    105 
    106         private void jisuanqi_KeyDown(object sender, KeyEventArgs e)
    107         {
    108 
    109 
    110             if (
    111                 e.KeyCode == Keys.D0 || e.KeyCode == Keys.NumPad0 ||
    112                 e.KeyCode == Keys.D1 || e.KeyCode == Keys.NumPad1 || 
    113                 e.KeyCode == Keys.D2 || e.KeyCode == Keys.NumPad2 ||
    114                 e.KeyCode == Keys.D3 || e.KeyCode == Keys.NumPad3 ||
    115                 e.KeyCode == Keys.D4 || e.KeyCode == Keys.NumPad4 || 
    116                 e.KeyCode == Keys.D5 || e.KeyCode == Keys.NumPad5 ||
    117                 e.KeyCode == Keys.D6 || e.KeyCode == Keys.NumPad6 ||
    118                 e.KeyCode == Keys.D7 || e.KeyCode == Keys.NumPad7 || 
    119                 e.KeyCode == Keys.D8 || e.KeyCode == Keys.NumPad8 ||
    120                 e.KeyCode == Keys.D9 || e.KeyCode == Keys.NumPad9 
    121                 )
    122             {
    123                 if (prev == 2 || TXTbottom.Text == "0")
    124                 {
    125                     string a = e.KeyData.ToString();
    126                     TXTbottom.Text = a.Substring((a.Length-1),1); 
    127                 }
    128                 else
    129                 {
    130                     string a = e.KeyData.ToString();
    131                     TXTbottom.Text += a.Substring((a.Length - 1), 1); 
    132                     
    133                 }
    134                 prev = 1;
    135             }
    136             //else if (
    137             //    //e.KeyCode == Keys.Add || e.KeyCode == Keys.Subtract || e.KeyCode == Keys.Multiply || e.KeyCode == Keys.Divide||
    138             //    e.KeyCode==Keys.Shift&&e.KeyCode==Keys.D8
    139             //    )
    140             //{
    141             //    MessageBox.Show(e.KeyData.ToString());
    142             //}
    143             else if(e.KeyCode==Keys.Back)
    144             {
    145                 string s = TXTbottom.Text;
    146                 if (s.Length >= 1)
    147                 {
    148                     s = s.Substring(0, s.Length - 1);
    149                 }
    150                 else
    151                 {
    152                     s = "";
    153                 }
    154                 TXTbottom.Text = s;
    155             }
    156         }
    157 
    158         private void button17_Click(object sender, EventArgs e)
    159         {
    160             string s = TXTbottom.Text;
    161             if (s.Length >= 1)
    162             {
    163                 s = s.Substring(0, s.Length - 1);
    164             }
    165             else
    166             {
    167                 s = "";
    168             }
    169             TXTbottom.Text = s;
    170         }
    171 
    172         private void button14_Click(object sender, EventArgs e)//等号
    173         {
    174             Button btn = sender as Button;
    175 
    176             //上次按了数字
    177             if (prev == 1)
    178             {
    179                 TXTTOP.Text += TXTbottom.Text + btn.Text;
    180                 switch (preysf)
    181                 {
    182                     case "+":
    183                         zjjg = zjjg + Convert.ToDecimal(TXTbottom.Text);
    184                         break;
    185                     case "-":
    186                         zjjg = zjjg - Convert.ToDecimal(TXTbottom.Text);
    187                         break;
    188                     case "*":
    189                         zjjg = zjjg * Convert.ToDecimal(TXTbottom.Text);
    190                         break;
    191                     case "/":
    192                         zjjg = zjjg / Convert.ToDecimal(TXTbottom.Text);
    193                         break;
    194                 }
    195                 TXTbottom.Text = zjjg.ToString();
    196             }
    197             //上次按了运算符///
    198             else
    199             {
    200                 string s = TXTTOP.Text;
    201                 if (s.Length >= 1)
    202                 {
    203                     s = s.Substring(0, s.Length - 1);
    204                     s = s + btn.Text;
    205                 }
    206                 else
    207                 {
    208                     s = "0";
    209                     s = s + btn.Text;
    210                 }
    211                 TXTbottom.Text = s;
    212             }
    213             //加号
    214             prev = 2;
    215             preysf = btn.Text;
    216             TXTTOP.Text = "";
    217             zjjg = 0;
    218             preysf = "+";
    219             denghao = 1;
    220         }
    221 
    222         private void jisuanqi_Load(object sender, EventArgs e)
    223         {
    224 
    225         }
    226     }
    227 }
  • 相关阅读:
    集RTMP, HLS, FLV, WebSocket 于一身的网页直播/点播播放器EasyPlayer.js引用videojs无法自动播放问题解决
    HLS播放器RTSP播放器支持8K播放且低延时高并发全功能流媒体播放器EasyPlayer搭建之HTML中 px,em,rem该如何区别?
    网页全终端安防视频流媒体播放器EasyPlayer.js如何实现在web浏览器播放H.265编码视频?
    网页全终端视频流媒体视频直播/点播播放器EasyPlayer.js实现WEB播放H265/HEVC视频方案介绍
    网页全终端视频流媒体播放器EasyPlayer之使用 nginx 和 rtmp 插件搭建视频直播和点播服务器
    车辆实时监控项目中数字摄像头和模拟摄像头的运用、区别及优势分析
    音视频流媒体服务器直播点播平台在车辆实时监控系统中如何做用户观看限制?
    如何借助CDN解决在线教育带宽小、访问大、网点分布不均等问题
    关于区块链,看看诺奖得主是如何评说的!
    区块链也有随机性!
  • 原文地址:https://www.cnblogs.com/zl1121102942/p/5839481.html
Copyright © 2011-2022 走看看