展会信息港展会大全

C#编写的windows计算器的实例代码
来源:互联网   发布日期:2016-01-26 10:10:48   浏览:2143次  

导读:这篇文章介绍了C 编写windows计算器的代码,有需要的朋友可以参考一下复制代码 代码如下:using System;using System Drawing;using System Windows;using System Windows Forms;using System Collections; ...

这篇文章介绍了C#编写windows计算器的代码,有需要的朋友可以参考一下

复制代码 代码如下:

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:WINDOWSHelpcalc.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:WINDOWSsystem32calc.exe");

}

//退出

private void menuItem10_Click(object sender, System.EventArgs e)

{

Application.Exit();

}

#endregion

}

}

赞助本站

人工智能实验室

相关热词: windows 计算器 C

相关内容
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港