前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >windows计算器

windows计算器

作者头像
Java架构师必看
发布2021-03-22 11:15:06
发布2021-03-22 11:15:06
1.4K0
举报
文章被收录于专栏:Java架构师必看Java架构师必看

usingSystem;usingSystem.Drawing;usingSystem.Win运维

using System;

using System.Drawing;

using System.Windows;

using System.Windows.Forms;

using System.Collections;

using System.ComponentModel;

using System.Data;

namespace comput {     /// <summary>     /// 这是一个计算器的简单实现。     /// </summary>

    public class Form1 : System.Windows.Forms.Form     {         #region 控件声明         private System.Windows.Forms.TextBox txtShow;         private System.Windows.Forms.GroupBox groupBox1;         private System.Windows.Forms.Button btn_rev;         private System.Windows.Forms.Button btn_dot;         private System.Windows.Forms.Button btn_add;         private System.Windows.Forms.Button btn_equ;         private System.Windows.Forms.Button btn_sign;         private System.Windows.Forms.Button btn_sub;         private System.Windows.Forms.Button btn_mul;         private System.Windows.Forms.Button btn_0;         private System.Windows.Forms.Button btn_3;         private System.Windows.Forms.Button btn_2;         private System.Windows.Forms.Button btn_1;         private System.Windows.Forms.Button btn_6;         private System.Windows.Forms.Button btn_5;         private System.Windows.Forms.Button btn_4;         private System.Windows.Forms.Button btn_sqrt;         private System.Windows.Forms.Button btn_div;         private System.Windows.Forms.Button btn_7;         private System.Windows.Forms.Button btn_8;         private System.Windows.Forms.Button btn_9;         private System.Windows.Forms.MainMenu mainMenu1;         private System.Windows.Forms.MenuItem menuItem1;         private System.Windows.Forms.Button btn_sqr;         private System.Windows.Forms.MenuItem menuItem2;         private System.Windows.Forms.MenuItem menuItem3;         private System.Windows.Forms.MenuItem menuItem4;         private System.Windows.Forms.MenuItem menuItem5;         private System.Windows.Forms.MenuItem menuItem6;         private System.Windows.Forms.Button c;         private System.Windows.Forms.Button ce;         private System.Windows.Forms.MenuItem menuItem8;         private System.Windows.Forms.MenuItem menuItem9;         private System.Windows.Forms.MenuItem menuItem10;         /// <summary>         /// 必需的设计器变量。         /// </summary>         private System.ComponentModel.Container components = null;         public Form1()         {             //             // Windows 窗体设计器支持所必需的             //             InitializeComponent();

            //             // TODO: 在 InitializeComponent 调用后添加任何构造函数代码             //         }

        /// <summary>         /// 清理所有正在使用的资源。         /// </summary>         protected override void Dispose( bool disposing )         {             if( disposing )             {                 if (components != null)                 {                     components.Dispose();                 }             }             base.Dispose( disposing );         }        #endregion

        #region 各控件的属性的方法Windows Form Designer generated code         /// <summary>         /// 设计器支持所需的方法 - 不要使用代码编辑器修改         /// 此方法的内容。         /// </summary>         private void InitializeComponent()         {             System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(Form1));             this.txtShow = new System.Windows.Forms.TextBox();             this.groupBox1 = new System.Windows.Forms.GroupBox();             this.c = new System.Windows.Forms.Button();             this.ce = new System.Windows.Forms.Button();             this.btn_rev = new System.Windows.Forms.Button();             this.btn_dot = new System.Windows.Forms.Button();             this.btn_add = new System.Windows.Forms.Button();             this.btn_equ = new System.Windows.Forms.Button();             this.btn_sign = new System.Windows.Forms.Button();             this.btn_sub = new System.Windows.Forms.Button();             this.btn_mul = new System.Windows.Forms.Button();             this.btn_0 = new System.Windows.Forms.Button();             this.btn_3 = new System.Windows.Forms.Button();             this.btn_2 = new System.Windows.Forms.Button();             this.btn_1 = new System.Windows.Forms.Button();             this.btn_6 = new System.Windows.Forms.Button();             this.btn_5 = new System.Windows.Forms.Button();             this.btn_4 = new System.Windows.Forms.Button();             this.btn_sqrt = new System.Windows.Forms.Button();             this.btn_div = new System.Windows.Forms.Button();             this.btn_7 = new System.Windows.Forms.Button();             this.btn_8 = new System.Windows.Forms.Button();             this.btn_9 = new System.Windows.Forms.Button();             this.btn_sqr = new System.Windows.Forms.Button();             this.mainMenu1 = new System.Windows.Forms.MainMenu();             this.menuItem1 = new System.Windows.Forms.MenuItem();             this.menuItem2 = new System.Windows.Forms.MenuItem();             this.menuItem3 = new System.Windows.Forms.MenuItem();             this.menuItem4 = new System.Windows.Forms.MenuItem();             this.menuItem5 = new System.Windows.Forms.MenuItem();             this.menuItem6 = new System.Windows.Forms.MenuItem();             this.menuItem8 = new System.Windows.Forms.MenuItem();             this.menuItem9 = new System.Windows.Forms.MenuItem();             this.menuItem10 = new System.Windows.Forms.MenuItem();             this.groupBox1.SuspendLayout();             this.SuspendLayout();             //             // txtShow             //             this.txtShow.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(192)), ((System.Byte)(192)), ((System.Byte)(255)));             this.txtShow.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.txtShow.ForeColor = System.Drawing.Color.Purple;             this.txtShow.Location = new System.Drawing.Point(25, 8);             this.txtShow.Name = "txtShow";             this.txtShow.Size = new System.Drawing.Size(228, 23);             this.txtShow.TabIndex = 1;             this.txtShow.Text = "0.";             this.txtShow.TextAlign = System.Windows.Forms.HorizontalAlignment.Right;             //             // groupBox1             //             this.groupBox1.Controls.Add(this.c);             this.groupBox1.Controls.Add(this.ce);             this.groupBox1.Controls.Add(this.btn_rev);             this.groupBox1.Controls.Add(this.btn_dot);             this.groupBox1.Controls.Add(this.btn_add);             this.groupBox1.Controls.Add(this.btn_equ);             this.groupBox1.Controls.Add(this.btn_sign);             this.groupBox1.Controls.Add(this.btn_sub);             this.groupBox1.Controls.Add(this.btn_mul);             this.groupBox1.Controls.Add(this.btn_0);             this.groupBox1.Controls.Add(this.btn_3);             this.groupBox1.Controls.Add(this.btn_2);             this.groupBox1.Controls.Add(this.btn_1);             this.groupBox1.Controls.Add(this.btn_6);             this.groupBox1.Controls.Add(this.btn_5);             this.groupBox1.Controls.Add(this.btn_4);             this.groupBox1.Controls.Add(this.btn_sqrt);             this.groupBox1.Controls.Add(this.btn_div);             this.groupBox1.Controls.Add(this.btn_7);             this.groupBox1.Controls.Add(this.btn_8);             this.groupBox1.Controls.Add(this.btn_9);             this.groupBox1.Controls.Add(this.btn_sqr);             this.groupBox1.Location = new System.Drawing.Point(24, 40);             this.groupBox1.Name = "groupBox1";             this.groupBox1.Size = new System.Drawing.Size(232, 184);             this.groupBox1.TabIndex = 21;             this.groupBox1.TabStop = false;             this.groupBox1.Text = "计算机区";             //             // c             //             this.c.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.c.ForeColor = System.Drawing.Color.Red;             this.c.Location = new System.Drawing.Point(178, 48);             this.c.Name = "c";             this.c.Size = new System.Drawing.Size(36, 61);             this.c.TabIndex = 41;             this.c.Text = "C";             this.c.Click += new System.EventHandler(this.btn_Oper);             //             // ce             //             this.ce.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.ce.ForeColor = System.Drawing.Color.Red;             this.ce.Location = new System.Drawing.Point(138, 16);             this.ce.Name = "ce";             this.ce.Size = new System.Drawing.Size(76, 29);             this.ce.TabIndex = 40;             this.ce.Text = "CE";             this.ce.Click += new System.EventHandler(this.btn_Oper);             //             // btn_rev             //             this.btn_rev.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_rev.ForeColor = System.Drawing.Color.Blue;             this.btn_rev.Location = new System.Drawing.Point(178, 112);             this.btn_rev.Name = "btn_rev";             this.btn_rev.Size = new System.Drawing.Size(36, 29);             this.btn_rev.TabIndex = 39;             this.btn_rev.Text = "1/x";             this.btn_rev.Click += new System.EventHandler(this.btn_Oper);             //             // btn_dot             //             this.btn_dot.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_dot.Location = new System.Drawing.Point(98, 144);             this.btn_dot.Name = "btn_dot";             this.btn_dot.Size = new System.Drawing.Size(36, 29);             this.btn_dot.TabIndex = 38;             this.btn_dot.Tag = "0";             this.btn_dot.Text = ".";             this.btn_dot.Click += new System.EventHandler(this.btn_Oper);             //             // btn_add             //             this.btn_add.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_add.ForeColor = System.Drawing.Color.Red;             this.btn_add.Location = new System.Drawing.Point(138, 144);             this.btn_add.Name = "btn_add";             this.btn_add.Size = new System.Drawing.Size(36, 29);             this.btn_add.TabIndex = 37;             this.btn_add.Text = "+";             this.btn_add.Click += new System.EventHandler(this.btn_Oper);             //             // btn_equ             //             this.btn_equ.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_equ.ForeColor = System.Drawing.Color.Red;             this.btn_equ.Location = new System.Drawing.Point(178, 144);             this.btn_equ.Name = "btn_equ";             this.btn_equ.Size = new System.Drawing.Size(36, 29);             this.btn_equ.TabIndex = 36;             this.btn_equ.Text = "=";             this.btn_equ.Click += new System.EventHandler(this.btn_equ_Click);             //             // btn_sign             //             this.btn_sign.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_sign.ForeColor = System.Drawing.Color.Blue;             this.btn_sign.Location = new System.Drawing.Point(58, 144);             this.btn_sign.Name = "btn_sign";             this.btn_sign.Size = new System.Drawing.Size(36, 29);             this.btn_sign.TabIndex = 35;             this.btn_sign.Text = "+/-";             this.btn_sign.Click += new System.EventHandler(this.btn_Oper);             //             // btn_sub             //             this.btn_sub.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_sub.ForeColor = System.Drawing.Color.Red;             this.btn_sub.Location = new System.Drawing.Point(138, 112);             this.btn_sub.Name = "btn_sub";             this.btn_sub.Size = new System.Drawing.Size(36, 29);             this.btn_sub.TabIndex = 34;             this.btn_sub.Text = "-";             this.btn_sub.Click += new System.EventHandler(this.btn_Oper);             //             // btn_mul             //             this.btn_mul.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_mul.ForeColor = System.Drawing.Color.Red;             this.btn_mul.Location = new System.Drawing.Point(138, 80);             this.btn_mul.Name = "btn_mul";             this.btn_mul.Size = new System.Drawing.Size(36, 29);             this.btn_mul.TabIndex = 33;             this.btn_mul.Text = "*";             this.btn_mul.Click += new System.EventHandler(this.btn_Oper);             //             // btn_0             //             this.btn_0.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_0.ForeColor = System.Drawing.Color.Blue;             this.btn_0.Location = new System.Drawing.Point(18, 144);             this.btn_0.Name = "btn_0";             this.btn_0.Size = new System.Drawing.Size(36, 29);             this.btn_0.TabIndex = 32;             this.btn_0.Tag = "0";             this.btn_0.Text = "0";             this.btn_0.Click += new System.EventHandler(this.btn_0_Click);             //             // btn_3             //             this.btn_3.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_3.ForeColor = System.Drawing.Color.Blue;             this.btn_3.Location = new System.Drawing.Point(98, 112);             this.btn_3.Name = "btn_3";             this.btn_3.Size = new System.Drawing.Size(36, 29);             this.btn_3.TabIndex = 31;             this.btn_3.Tag = "3";             this.btn_3.Text = "3";             this.btn_3.Click += new System.EventHandler(this.btn_0_Click);             //             // btn_2             //             this.btn_2.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_2.ForeColor = System.Drawing.Color.Blue;             this.btn_2.Location = new System.Drawing.Point(58, 112);             this.btn_2.Name = "btn_2";             this.btn_2.Size = new System.Drawing.Size(36, 29);             this.btn_2.TabIndex = 30;             this.btn_2.Tag = "2";             this.btn_2.Text = "2";             this.btn_2.Click += new System.EventHandler(this.btn_0_Click);             //             // btn_1             //             this.btn_1.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_1.ForeColor = System.Drawing.Color.Blue;             this.btn_1.Location = new System.Drawing.Point(18, 112);             this.btn_1.Name = "btn_1";             this.btn_1.Size = new System.Drawing.Size(36, 29);             this.btn_1.TabIndex = 29;             this.btn_1.Tag = "1";             this.btn_1.Text = "1";             this.btn_1.Click += new System.EventHandler(this.btn_0_Click);             //             // btn_6             //             this.btn_6.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_6.ForeColor = System.Drawing.Color.Blue;             this.btn_6.Location = new System.Drawing.Point(98, 80);             this.btn_6.Name = "btn_6";             this.btn_6.Size = new System.Drawing.Size(36, 29);             this.btn_6.TabIndex = 28;             this.btn_6.Tag = "6";             this.btn_6.Text = "6";             this.btn_6.Click += new System.EventHandler(this.btn_0_Click);             //             // btn_5             //             this.btn_5.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_5.ForeColor = System.Drawing.Color.Blue;             this.btn_5.Location = new System.Drawing.Point(58, 80);             this.btn_5.Name = "btn_5";             this.btn_5.Size = new System.Drawing.Size(36, 29);             this.btn_5.TabIndex = 27;             this.btn_5.Tag = "5";             this.btn_5.Text = "5";             this.btn_5.Click += new System.EventHandler(this.btn_0_Click);             //             // btn_4             //             this.btn_4.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_4.ForeColor = System.Drawing.Color.Blue;             this.btn_4.Location = new System.Drawing.Point(18, 80);             this.btn_4.Name = "btn_4";             this.btn_4.Size = new System.Drawing.Size(36, 29);             this.btn_4.TabIndex = 26;             this.btn_4.Tag = "4";             this.btn_4.Text = "4";             this.btn_4.Click += new System.EventHandler(this.btn_0_Click);             //             // btn_sqrt             //             this.btn_sqrt.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_sqrt.ForeColor = System.Drawing.Color.Blue;             this.btn_sqrt.Location = new System.Drawing.Point(18, 16);             this.btn_sqrt.Name = "btn_sqrt";             this.btn_sqrt.Size = new System.Drawing.Size(76, 29);             this.btn_sqrt.TabIndex = 25;             this.btn_sqrt.Text = "sqrt";             this.btn_sqrt.Click += new System.EventHandler(this.btn_Oper);             //             // btn_div             //             this.btn_div.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_div.ForeColor = System.Drawing.Color.Red;             this.btn_div.Location = new System.Drawing.Point(138, 48);             this.btn_div.Name = "btn_div";             this.btn_div.Size = new System.Drawing.Size(36, 29);             this.btn_div.TabIndex = 24;             this.btn_div.Text = "/";             this.btn_div.Click += new System.EventHandler(this.btn_Oper);             //             // btn_7             //             this.btn_7.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_7.ForeColor = System.Drawing.Color.Blue;             this.btn_7.Location = new System.Drawing.Point(18, 48);             this.btn_7.Name = "btn_7";             this.btn_7.Size = new System.Drawing.Size(36, 29);             this.btn_7.TabIndex = 23;             this.btn_7.Tag = "7";             this.btn_7.Text = "7";             this.btn_7.Click += new System.EventHandler(this.btn_0_Click);             //             // btn_8             //             this.btn_8.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_8.ForeColor = System.Drawing.Color.Blue;             this.btn_8.Location = new System.Drawing.Point(58, 48);             this.btn_8.Name = "btn_8";             this.btn_8.Size = new System.Drawing.Size(36, 29);             this.btn_8.TabIndex = 22;             this.btn_8.Tag = "8";             this.btn_8.Text = "8";             this.btn_8.Click += new System.EventHandler(this.btn_0_Click);             //             // btn_9             //             this.btn_9.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_9.ForeColor = System.Drawing.Color.Blue;             this.btn_9.Location = new System.Drawing.Point(98, 48);             this.btn_9.Name = "btn_9";             this.btn_9.Size = new System.Drawing.Size(36, 29);             this.btn_9.TabIndex = 21;             this.btn_9.Tag = "9";             this.btn_9.Text = "9";             this.btn_9.Click += new System.EventHandler(this.btn_0_Click);             //             // btn_sqr             //             this.btn_sqr.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));             this.btn_sqr.ForeColor = System.Drawing.Color.Blue;             this.btn_sqr.Location = new System.Drawing.Point(98, 16);             this.btn_sqr.Name = "btn_sqr";             this.btn_sqr.Size = new System.Drawing.Size(36, 29);             this.btn_sqr.TabIndex = 19;             this.btn_sqr.Text = "sqr";             this.btn_sqr.Click += new System.EventHandler(this.btn_Oper);             //             // mainMenu1             //             this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {                                                                                       this.menuItem8,                                                                                       this.menuItem1,                                                                                       this.menuItem4});             //             // menuItem1             //             this.menuItem1.Index = 1;             this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {                                                                                       this.menuItem2,                                                                                       this.menuItem3});             this.menuItem1.Text = "编辑(&E)";             //             // menuItem2             //             this.menuItem2.Index = 0;             this.menuItem2.Text = "复制(&C)";             this.menuItem2.Click += new System.EventHandler(this.menuItem2_Click);             //             // menuItem3             //             this.menuItem3.Index = 1;             this.menuItem3.Text = "粘贴(&P)";             this.menuItem3.Click += new System.EventHandler(this.menuItem3_Click);             //             // menuItem4             //             this.menuItem4.Index = 2;             this.menuItem4.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {                                                                                       this.menuItem5,                                                                                       this.menuItem6});             this.menuItem4.Text = "帮助(&H)";             //             // menuItem5             //             this.menuItem5.Index = 0;             this.menuItem5.Text = "帮助主题(&H)";             this.menuItem5.Click += new System.EventHandler(this.menuItem5_Click);             //             // menuItem6             //             this.menuItem6.Index = 1;             this.menuItem6.Text = "关于(&A)";             this.menuItem6.Click += new System.EventHandler(this.menuItem6_Click);             //             // menuItem8             //             this.menuItem8.Index = 0;             this.menuItem8.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {                                                                                       this.menuItem9,                                                                                       this.menuItem10});             this.menuItem8.Text = "文件(&F)";             //             // menuItem9             //             this.menuItem9.Index = 0;             this.menuItem9.Text = "打开windows计算器(&O)";             this.menuItem9.Click += new System.EventHandler(this.menuItem9_Click);             //             // menuItem10             //             this.menuItem10.Index = 1;             this.menuItem10.Text = "退出(&Q)";             this.menuItem10.Click += new System.EventHandler(this.menuItem10_Click);             //             // Form1             //             this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);             this.ClientSize = new System.Drawing.Size(278, 239);             this.Controls.Add(this.groupBox1);             this.Controls.Add(this.txtShow);             this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;             this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));             this.MaximizeBox = false;             this.Menu = this.mainMenu1;             this.Name = "Form1";             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;             this.Text = "计算器";             this.groupBox1.ResumeLayout(false);             this.ResumeLayout(false);

        }         #endregion

        #region 各变量和常数的声明         public const int NULL = 0;      // 定义操作码         public const int ADD = 1;     //表示加         public const int SUB = 2;     //减         public const int MUL = 3;     //乘         public const int DIV = 4;    //除         public const int SQR = 5;    //求平方         public const int SQRT = 6;   //求平方根         public const int NODOT  = 0;     // 定义是否点击了小数点,0 为没点         public const int HASDOT = 1;         private double res = 0;         // 记录结果数         private double tmp = 0;         // 当前输入的操作数         private int opt = NULL;         // 记录操作码         private int dot = NODOT;    // 记录是否点击了小数点,0为没有点         private int num = 0;        // 记录输入操作数的个数         private int dotnum = 0;        // 记录小数点部分的个数                string strOper;            //获取操作符         #endregion         /// <summary>         /// 应用程序的主入口点。         /// </summary>         [STAThread]         static void Main()         {             Application.Run(new Form1());         }

        /// <summary>         #region 获取操作数事件         //获取操作数事件         private void btn_0_Click(object sender, System.EventArgs e)         {             System.Windows.Forms.Button btnTmp;             double i;

            btnTmp = sender as System.Windows.Forms.Button;                        if (btnTmp != null)             {                 if (dot == NODOT)                 {                     // 没有点击小数点                     i = double.Parse(btnTmp.Tag.ToString()); //取用户自定义的控件关联数,并转换成double型                     tmp = tmp * 10 + i;                     txtShow.Text = tmp.ToString();   //将其放入文本显示屏啊                 }                 else   // 点击了小数点                 {                                        dotnum++;    //记录小数点部分的个数                                                        // 生成小数部分的新的数值                     i = double.Parse(btnTmp.Tag.ToString()) / System.Math.Pow(10,dotnum);                     tmp = tmp + i;  //将小数点后的值加到当前操做数                     txtShow.Text = tmp.ToString();                 }             }         }         #endregion

        #region 等于事件和等于运算方法         //等于事件         private void btn_equ_Click(object sender, System.EventArgs e)         {             calc();         }

        //等于运算方法         private void calc()         {             // 生成结果             if (num == 0 )    //是否有操作数,没有就返回0             {                 res = 0;                 tmp = 0;                 txtShow.Text = res.ToString();                 return;             }

            switch (opt)  //找到对应的运算符进行计算             {                     // 加法                 case ADD:                     res = res + tmp;                                        break;                     // 减法                 case SUB:                     res = res - tmp;                                        break;                     // 乘法                 case MUL:                     res = res * tmp;                                        break;                     // 除法                 case DIV:                     res = res / tmp;                                        break;                     // 平方                 case SQR:                     res = tmp * tmp;                                        break;                     // 平方根                 case SQRT:                     res = System.Math.Sqrt(tmp);                                        break;                 default:                     return;             }             txtShow.Text = res.ToString();   //结果输出到文本显示屏             opt = NULL;  //运算符清空             tmp=0;                dot = NODOT;                     //res = 0;                     //num = 0;         }         #endregion

        #region 获取操作符运事件         //获取操作符运事件         private void btn_Oper(object obj,EventArgs ea)         {             Button tmp1=(Button)obj;             strOper=tmp1.Text;             switch (strOper)             {                 case "/":       //除法运算                     if(opt!=NULL&&opt!=DIV)                     {                         calc();                     }                     opt = DIV;                     if (num != 0)  //判断操作数的个数,如果两个就做二元运算                     {                         if (tmp != 0)                             res = res / tmp;                     }                     else                         res = tmp;                     num++;                                          tmp = 0;                     txtShow.Text = res.ToString();                     dot = NODOT;                     break;                 case "*":                     // 乘法运算                     if(opt!=NULL&&opt!=MUL)                     {                         calc();                     }

                    opt = MUL;                     if (num!= 0 )     //判断操作数的个数,如果两个就做二元运算                        {                             if(tmp!=0)                          res = res * tmp;                     }                     else                         res = tmp;                     num++;                                                          tmp = 0;                     txtShow.Text = res.ToString();                     dot = NODOT;                     break;                 case "+":            //加法运算                     if(opt!=NULL&&opt!=ADD)                     {                         calc();                     }                     opt = ADD;                     if (num != 0)    //判断操作数的个数,如果两个就做二元运算                         res = res + tmp;                     else                         res = tmp;                     num++;                                        tmp = 0;                     txtShow.Text = res.ToString();                     dot = NODOT;                     break;                 case "-":        //减法运算                     if(opt!=NULL&&opt!=SUB)                     {                         calc();                     }                     /*if(opt==ADD)                     {                         res=res+tmp;                         tmp=0;                     }*/                     opt = SUB;                     if (num != 0)    //判断操作数的个数,如果两个就做二元运算                         res = res - tmp;                     else                         res = tmp;                     num++;                                         tmp = 0;                     txtShow.Text = res.ToString();                     dot = NODOT;                     break;                 case "sqrt":     //平方根运算                     if(opt!=NULL)                     {                         calc();                     }

                    //opt=SQRT;                     if (tmp > 0)  //要求操作数大于0                     {                         res = Math.Sqrt(tmp);                         //res=tmp;                     }                     else if(res>0)                         res= Math.Sqrt(res);                         txtShow.Text =res.ToString();                     num++;                        tmp=0;                     dot = NODOT;                     break;                 case "sqr":                     // 平方运算                     if(opt!=NULL)                     {                         calc();                     }                     //opt=SQR;                     if (tmp != 0)                     {                         res = tmp * tmp;                         //res=tmp;                     }                     else                         res=res*res;                     txtShow.Text = res.ToString();                     num++;                        tmp=0;                     dot = NODOT;                     break;                 case "1/x":  //倒数运算                     if(opt!=NULL)                     {                         calc();                     }                     if (tmp != 0)                     {                         res = 1 / tmp;                         //res=tmp;                     }                     else                                        res=1/res;                     txtShow.Text = res.ToString();                     tmp=0;                     dot = NODOT;                     break;                 case ".":                             // 点击了小数点                     if(dot==HASDOT)                         return;                     else                     {                         dot = HASDOT;                         dotnum = 0;                     }                                        break;                 case "+/-":                                 // 点击了符号运算                     if(tmp!=0)                     {                         tmp = -tmp;                         txtShow.Text = tmp.ToString();                     }                     else                     {                         res=-res;                         //res=tmp;                         txtShow.Text = res.ToString();                        }                     dot = NODOT;                     break;                    case "CE":     //清除运算                     res = 0;         // 记录结果数                     tmp = 0;         // 当前输入的操作数                     opt = NULL;         // 记录操作码                     dot = NODOT;    // 记录是否点击了小数点                     num = 0;        // 记录输入操作数的个数                     dotnum = 0;        // 记录小数点部分的个数                     txtShow.Text="";                                        break;                 case "C":         //清除运算                     res = 0;         // 记录结果数                     tmp = 0;         // 当前输入的操作数                     opt = NULL;         // 记录操作码                     dot = NODOT;    // 记录是否点击了小数点                     num = 0;        // 记录输入操作数的个数                     dotnum = 0;        // 记录小数点部分的个数                     txtShow.Text="";                     break;

            }         }

        #endregion

        #region     主菜单事件         //打开关于主题---调用windows xp中计算器的帮助         private void menuItem5_Click(object sender, System.EventArgs e)         {             Help.ShowHelp(this,"C://WINDOWS//Help//calc.chm");                }

        //打开于我们         private void menuItem6_Click(object sender, System.EventArgs e)         {             Form2 fm=new Form2();             fm.Show();         }

        //复制         private void menuItem2_Click(object sender, System.EventArgs e)         {             if(txtShow.SelectionLength>0)             {                 txtShow.Copy();             }         }         //        //粘贴         private void menuItem3_Click(object sender, System.EventArgs e)         {             txtShow.Paste();         }           //调用windows xp中的计算器         private void menuItem9_Click(object sender, System.EventArgs e)         {              Help.ShowHelp(this,"C://WINDOWS//system32//calc.exe");         }         //退出         private void menuItem10_Click(object sender, System.EventArgs e)         {             Application.Exit();         }

        #endregion

    } }

本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。如需转载,请注明文章来源。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档