视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
C#计算器程序
2025-09-29 02:21:23 责编:小OO
文档
控件类型 Name Text 

form calcForm 计算器 

button button1 0 

  .....    

  button10 9 

  bDot .(小数点) 小数点按钮 

  bPlus +(加号) 加号按钮 

  bSub  -(减号) 减号按钮 

  bMul *(乘号) 乘号按钮 

  bDiv /(除号) 除号按钮 

  bEqu  =(等号) 等号按钮 

  bClr AC 清除按钮 

  textBox  txtCalc (空值) 用来显示输入及输出结果 

  第二部份,程序结构

  1,定义以下变量

Double dblAcc; //运算数A

Double dblSec; //运算数B

bool blnClear,blnFrstOpen;//布尔类型用来判断清除与否,以及第一个显示字符

String strOper;//通过获取strOper的值来决定运算+,-,*,/,= 

  2,用以下方法来实现按钮的动作

  例: bDot.click+=net EventHandler(btn_clk);//EventHandler类是事件代表类,用来注册事件的处理方法.

  //第一个参数是object类型,指向发出事件的对象;

  //第二个参数是EventArgs类型,包含了关于这个事件的数据 

  3,用以下方法来判断运算以及运算操作

private void calc(){

switch(strOper){

 case "+":

  dblAcc+=dblSec;//加法运算

  break;

 case "-":

  dblAcc-=dblSec;//减法运算

  break;

 case "*":

  dblAcc*=dblSec;//乘法运算

  break;

 case "/":

  dblAcc/=dblSec;//除法运算

  break;

}

strOper="=";//等号运算

blnFrstOpen=true;

txtCalc.Text=Convert.ToString(dblAcc);//将运算结果转换成字符型,并输出结果

dblSec=dblAcc;

  4,小数点运算

//先判断是否已经按了小数点按钮,如果按了,最0.x来代替运算变量,并且将转换成Double数型数值 

private void btn_clk(object obj,EventArgs ea){

 if(blnClear)

  txtCalc.Text="";

  Button b3=(Button)obj;

  txtCalc.Text+=b3.Text;

 if(txtCalc.Text==".")

  txtCalc.Text="0.";

  dblSec=Convert.ToDouble(txtCalc.Text);

  blnClear=false;

  程序中所涉及到的一些问题,都给解决了,现在我们动手吧!操上我的利器,去完成任务吧!

  二、开发过程 

  下面跟我们一步步学习吧.

  先启动vs.net,建一个空的C#项目

    名称用wincalc,位置就自己设定好了。确定后,从vs.net开发环境中右边的工具箱中加入控件表的控件,,注意修改txtCalc的如属性ReadOnly=True,RightTOLeft=Yes(从右至左输入),添加代码如源程序所示:

  三、源程序

//基本的计算器

//蚕蛹 2001.11.26 

//Using C#

//E-mail:sillnet@hotmail.com

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

namespace wincalc

{

/// 

/// Summary description for calcForm.

/// 

public class calcForm : System.Windows.Forms.Form

{

private System.Windows.Forms.Button button1;

private System.Windows.Forms.Button button2;

private System.Windows.Forms.Button button3;

private System.Windows.Forms.Button button4;

private System.Windows.Forms.Button button5;

private System.Windows.Forms.Button button6;

private System.Windows.Forms.Button button7;

private System.Windows.Forms.Button button8;

private System.Windows.Forms.Button button9;

private System.Windows.Forms.Button button10;

private System.Windows.Forms.Button bClr;

private System.Windows.Forms.Button bDot;

private System.Windows.Forms.Button bPlus;

private System.Windows.Forms.Button bSub;

private System.Windows.Forms.Button bMul;

private System.Windows.Forms.Button bDiv;

private System.Windows.Forms.Button bEqu;

private System.Windows.Forms.TextBox txtCalc;

//以下是要添加的代码

//定义变量

Double dblAcc;

Double dblSec;

bool blnClear,blnFrstOpen;

String strOper;

//以上是添加的代码

/// 

/// Required designer variable.

/// 

private System.ComponentModel.Container components = null;

public calcForm()

{

//

// Required for Windows Form Designer support

//

InitializeComponent();

//

// TODO: Add any constructor code after InitializeComponent call

//

//以下是要添加的代码

//初始化设量

dblAcc=0;

dblSec=0;

blnFrstOpen=true;

blnClear=true;

strOper=new string(‘=‘,1);

//以上是添加的代码

}

/// 

/// Clean up any resources being used.

/// 

protected override void Dispose( bool disposing )

{

if( disposing )

{

if(components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

#region Windows Form Designer generated code

/// 

/// Required method for Designer support - do not modify

/// the contents of this method with the code editor.

/// 

private void InitializeComponent()

{

this.bPlus = new System.Windows.Forms.Button();

this.bMul = new System.Windows.Forms.Button();

this.bDot = new System.Windows.Forms.Button();

this.txtCalc = new System.Windows.Forms.TextBox();

this.bClr = new System.Windows.Forms.Button();

this.bDiv = new System.Windows.Forms.Button();

this.bSub = new System.Windows.Forms.Button();

this.button8 = new System.Windows.Forms.Button();

this.button9 = new System.Windows.Forms.Button();

this.bEqu = new System.Windows.Forms.Button();

this.button10 = new System.Windows.Forms.Button();

this.button4 = new System.Windows.Forms.Button();

this.button5 = new System.Windows.Forms.Button();

this.button6 = new System.Windows.Forms.Button();

this.button7 = new System.Windows.Forms.Button();

this.button1 = new System.Windows.Forms.Button();

this.button2 = new System.Windows.Forms.Button();

this.button3 = new System.Windows.Forms.Button();

this.SuspendLayout();

// 

// bPlus

// 

this.bPlus.BackColor = System.Drawing.SystemColors.Control;

this.bPlus.ForeColor = System.Drawing.SystemColors.ControlText;

this.bPlus.Location = new System.Drawing.Point(208, 112);

this.bPlus.Name = "bPlus";

this.bPlus.Size = new System.Drawing.Size(32, 80);

this.bPlus.TabIndex = 1;

this.bPlus.Text = "+";

//以下是要添加的代码

bPlus.Click += new System.EventHandler(this.btn_Oper);

//以上是添加的代码

// 

// bMul

// 

this.bMul.Location = new System.Drawing.Point(160, 112);

this.bMul.Name = "bMul";

this.bMul.Size = new System.Drawing.Size(32, 32);

this.bMul.TabIndex = 1;

this.bMul.Text = "*";

//以下是要添加的代码

bMul.Click += new System.EventHandler(this.btn_Oper);

//以上是添加的代码

// 

// bDot

// 

this.bDot.ForeColor = System.Drawing.Color.Black;

this.bDot.Location = new System.Drawing.Point(112, 208);

this.bDot.Name = "bDot";

this.bDot.Size = new System.Drawing.Size(32, 32);

this.bDot.TabIndex = 0;

this.bDot.Text = ".";

//以下是要添加的代码

bDot.Click += new System.EventHandler(this.btn_clk);

//以上是添加的代码

// 

// txtCalc

// 

this.txtCalc.Location = new System.Drawing.Point(16, 24);

this.txtCalc.Name = "txtCalc";

this.txtCalc.ReadOnly = true;

this.txtCalc.RightToLeft = System.Windows.Forms.RightToLeft.Yes;

this.txtCalc.Size = new System.Drawing.Size(224, 21);

this.txtCalc.TabIndex = 2;

this.txtCalc.Text = "";

// 

// bClr

// 

this.bClr.BackColor = System.Drawing.SystemColors.Control;

this.bClr.ForeColor = System.Drawing.SystemColors.ControlText;

this.bClr.Location = new System.Drawing.Point(208, );

this.bClr.Name = "bClr";

this.bClr.Size = new System.Drawing.Size(32, 32);

this.bClr.TabIndex = 0;

this.bClr.Text = "AC";

//以下是要添加的代码

bClr.Click += new System.EventHandler(this.btn_clr);

//以上是添加的代码

// 

// bDiv

// 

this.bDiv.Location = new System.Drawing.Point(160, 160);

this.bDiv.Name = "bDiv";

this.bDiv.Size = new System.Drawing.Size(32, 32);

this.bDiv.TabIndex = 1;

this.bDiv.Text = "/";

//以下是要添加的代码

bDiv.Click += new System.EventHandler(this.btn_Oper);

//以上是添加的代码

// 

// bSub

// 

this.bSub.Location = new System.Drawing.Point(160, );

this.bSub.Name = "bSub";

this.bSub.Size = new System.Drawing.Size(32, 32);

this.bSub.TabIndex = 1;

this.bSub.Text = "-";

//以下是要添加的代码

bSub.Click += new System.EventHandler(this.btn_Oper);

//以上是添加的代码

// 

// button8

// 

this.button8.Location = new System.Drawing.Point(16, );

this.button8.Name = "button8";

this.button8.Size = new System.Drawing.Size(32, 32);

this.button8.TabIndex = 0;

this.button8.Text = "7";

//以下是要添加的代码

button8.Click += new System.EventHandler(this.btn_clk);

//以上是添加的代码

// 

// button9

// 

this.button9.Location = new System.Drawing.Point(, );

this.button9.Name = "button9";

this.button9.Size = new System.Drawing.Size(32, 32);

this.button9.TabIndex = 0;

this.button9.Text = "8";

//以下是要添加的代码

button9.Click += new System.EventHandler(this.btn_clk);

//以上是添加的代码

// 

// bEqu

// 

this.bEqu.BackColor = System.Drawing.SystemColors.Control;

this.bEqu.ForeColor = System.Drawing.SystemColors.ControlText;

this.bEqu.Location = new System.Drawing.Point(160, 208);

this.bEqu.Name = "bEqu";

this.bEqu.Size = new System.Drawing.Size(80, 32);

this.bEqu.TabIndex = 1;

this.bEqu.Text = "=";

//以下是要添加的代码

bEqu.Click += new System.EventHandler(this.btn_equ);

//以上是添加的代码

// 

// button10

// 

this.button10.Location = new System.Drawing.Point(112, );

this.button10.Name = "button10";

this.button10.Size = new System.Drawing.Size(32, 32);

this.button10.TabIndex = 0;

this.button10.Text = "9";

//以下是要添加的代码

button10.Click += new System.EventHandler(this.btn_clk);

//以上是添加的代码

// 

// button4

// 

this.button4.Location = new System.Drawing.Point(112, 160);

this.button4.Name = "button4";

this.button4.Size = new System.Drawing.Size(32, 32);

this.button4.TabIndex = 0;

this.button4.Text = "3";

//以下是要添加的代码

button4.Click += new System.EventHandler(this.btn_clk);

//以上是添加的代码

// 

// button5

// 

this.button5.Location = new System.Drawing.Point(16, 112);

this.button5.Name = "button5";

this.button5.Size = new System.Drawing.Size(32, 32);

this.button5.TabIndex = 0;

this.button5.Text = "4";

//以下是要添加的代码

button5.Click += new System.EventHandler(this.btn_clk);

//以上是添加的代码

// 

// button6

// 

this.button6.Location = new System.Drawing.Point(, 112);

this.button6.Name = "button6";

this.button6.Size = new System.Drawing.Size(32, 32);

this.button6.TabIndex = 0;

this.button6.Text = "5";

//以下是要添加的代码

button6.Click += new System.EventHandler(this.btn_clk);

//以上是添加的代码

// 

// button7

// 

this.button7.Location = new System.Drawing.Point(112, 112);

this.button7.Name = "button7";

this.button7.Size = new System.Drawing.Size(32, 32);

this.button7.TabIndex = 0;

this.button7.Text = "6";

//以下是要添加的代码

button7.Click += new System.EventHandler(this.btn_clk);

//以上是添加的代码

// 

// button1

// 

this.button1.BackColor = System.Drawing.SystemColors.Control;

this.button1.ForeColor = System.Drawing.Color.Black;

this.button1.Location = new System.Drawing.Point(16, 208);

this.button1.Name = "button1";

this.button1.Size = new System.Drawing.Size(80, 32);

this.button1.TabIndex = 0;

this.button1.Text = "0";

//以下是要添加的代码

button1.Click += new System.EventHandler(this.btn_clk);

//以上是添加的代码

// 

// button2

// 

this.button2.Location = new System.Drawing.Point(16, 160);

this.button2.Name = "button2";

this.button2.Size = new System.Drawing.Size(32, 32);

this.button2.TabIndex = 0;

this.button2.Text = "1";

//以下是要添加的代码

button2.Click += new System.EventHandler(this.btn_clk);

//以上是添加的代码

// 

// button3

// 

this.button3.Location = new System.Drawing.Point(, 160);

this.button3.Name = "button3";

this.button3.Size = new System.Drawing.Size(32, 32);

this.button3.TabIndex = 0;

this.button3.Text = "2";

//以下是要添加的代码

button3.Click += new System.EventHandler(this.btn_clk);

//以上是添加的代码

// 

// calcForm

// 

this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);

this.ClientSize = new System.Drawing.Size(256, 261);

this.Controls.AddRange(new System.Windows.Forms.Control[] {

this.txtCalc,

this.bEqu,

this.bDiv,

this.bMul,

this.bSub,

this.bPlus,

this.bDot,

this.bClr,

this.button10,

this.button9,

this.button8,

this.button7,

this.button6,

this.button5,

this.button4,

this.button3,

this.button2,

this.button1});

this.Name = "calcForm";

this.Text = "计算器";

this.ResumeLayout(false);

}

#endregion

//以下是要添加的代码

//小数点的操作

private void btn_clk(object obj,EventArgs ea){

if(blnClear)

txtCalc.Text="";

Button b3=(Button)obj;

txtCalc.Text+=b3.Text;

if(txtCalc.Text==".")

txtCalc.Text="0.";

dblSec=Convert.ToDouble(txtCalc.Text);

blnClear=false;

}

//程序开始点

private static void Main(){

Application.Run(new calcForm());

}

private void btn_Oper(object obj,EventArgs ea){

Button tmp=(Button)obj;

strOper=tmp.Text;

if(blnFrstOpen)

dblAcc=dblSec;

else

calc();

blnFrstOpen=false;

blnClear=true;

}

//等号运算

private void btn_equ(object obj,EventArgs ea){

calc();

}

//所有运算操作

private void calc(){

switch(strOper){

case "+":

dblAcc+=dblSec; //加号运算

break;

case "-":

dblAcc-=dblSec; //减号运算

break;

case "*":

dblAcc*=dblSec; //乘号运算

break;

case "/":

dblAcc/=dblSec; //除号运算

break;

}

strOper="="; //等号运算

blnFrstOpen=true;

txtCalc.Text=Convert.ToString(dblAcc);//将运算结果转换成字符类型,并输出

dblSec=dblAcc;//将运算数A的值放入运算数B中,以便后面运算

}

//清除按钮

private void btn_clr(object obj,EventArgs ea){

clear();

}

//清除按钮的操作

private void clear(){

dblAcc=0;

dblSec=0;

blnFrstOpen=true;

txtCalc.Text="";

txtCalc.Focus();//设置焦点为txtCalc

}

//以上是添加的代码

}

  以上只是一个简单的用C#开发的Windows Form程序,在vs.nt bate2+windows 2000专业版编译通过.向正在学习vs.net网友们抛砖引玉,其功能上还有很多不完善的地方,欢迎网友们将其完善下载本文

显示全文
专题