您好,欢迎访问三七文档
C#程序设计简单计算器大家都知道,计算器是日常生活中不可缺少的一个工具,在Microsoft的Windows操作系统中,附带了一个计算器程序,有标准型和科学型两种模式。WindowsXP下的标准型和科学型计算器程序分别如图2-1和图2-2所示。图2-1WindowsXP下的标准型计算器图2-2WindowsXP下的科学型计算器Windows操作系统下附带的计算器程序功能相当的强大,本课我们将模仿Windows的计算器,使用VisualC#2005开发平台开发一个功能相对简单的计算器应用程序,它能完成加、减、乘、除运算。2.2界面设计及属性设置用户界面设计是软件开发中非常重要的一个部分,用户界面的好坏直接影响软件的质量,本节将介绍如何设计简易计算器的用户界面以及界面上各控件的属性设置。2.2.1界面设计打开VisualStudio2005开发工具,新建一个Windows应用程序,然后在窗体上依次放置1个TextBox和17个Button控件,如图2-1所示(设置好属性后)。图2-1计算器用户界面2.2.2属性设置窗体和各控件的属性设置如表2-1所示。表2-1窗体和各控件的属性控件类型控件名称属性设置结果FormForm1Text计算器StartPositionCenterScreenMaximizeBoxFalseAutoSizeModeGrowAndShrinkTextBoxTextBox1NametxtReadoutReadOnlyTrueButtonButton1NamebtnNum7Text7Button2NamebtnNum8Text8Button3NamebtnNum9Text9Button4NamebtnAddText+ForeColorRedButton5NamebtnSubText-ForeColorRedButton6NamebtnNum4Text4Button7NamebtnNum5Text5Button8NamebtnNum6Text6Button9NamebtnMulText*ForeColorRedButton10NamebtnDivText/ForeColorRedButton11NamebtnNum1Text1Button12NamebtnNum2Text2Button13NamebtnNum3Text3Button14NamebtnNum0Text0Button15NamebtnDotText.Button16NamebtnCTextCForeColorRedButton17NamebtnAmountText=ForeColorRed2.3编写代码本程序需要用到一些公共变量,例如用来接收操作数、运算结果,判断输入的是否为小数等,因此首先在代码的通用段声明以下变量://******************************************************************doublenum1,num2,result;//操作数及运算结果booldecimalFlag=false;//判断输入的是否为小数stringmyOperator;//操作类型//******************************************************************接下来编写一个名为“NumClick”的方法,单击数字按钮时,调用NumClick方法,将输入的数字追加到文本框中,代码如下://******************************************************************//单击数字按钮时,调用如下NumClick方法//******************************************************************publicvoidNumClick(intmyNumber){if(decimalFlag)//输入小数{txtReadout.Text=txtReadout.Text+myNumber;}else{if(txtReadout.Text==0.)//输入整数{//输入的是整数的第一个数字txtReadout.Text=myNumber+.;}else{//输入的不是整数的第一个数字txtReadout.Text=txtReadout.Text.Substring(0,txtReadout.Text.Length-1)+myNumber+.;}}}//******************************************************************编写窗体的载入事件代码如下://******************************************************************//窗体载入事件代码//******************************************************************privatevoidForm1_Load(objectsender,EventArgse){txtReadout.Text=0.;//指定文本框的对齐方式为右对齐txtReadout.TextAlign=HorizontalAlignment.Right;}//******************************************************************//******************************************************************编写数字按钮【0】~【9】的单击事件代码如下://******************************************************************//数字按钮【0】~【9】的单击事件代码//******************************************************************privatevoidbtnNum0_Click(objectsender,EventArgse){NumClick(0);}privatevoidbtnNum1_Click(objectsender,EventArgse){NumClick(1);}privatevoidbtnNum2_Click(objectsender,EventArgse){NumClick(2);}privatevoidbtnNum3_Click(objectsender,EventArgse){NumClick(3);}privatevoidbtnNum4_Click(objectsender,EventArgse){NumClick(4);}privatevoidbtnNum5_Click(objectsender,EventArgse){NumClick(5);}privatevoidbtnNum6_Click(objectsender,EventArgse){NumClick(6);}privatevoidbtnNum7_Click(objectsender,EventArgse){NumClick(7);}privatevoidbtnNum8_Click(objectsender,EventArgse){NumClick(8);}privatevoidbtnNum9_Click(objectsender,EventArgse){NumClick(9);}//******************************************************************//******************************************************************编写小数点按钮【.】的单击事件代码如下://******************************************************************//【.】按钮的单击事件代码//******************************************************************privatevoidbtnDot_Click(objectsender,EventArgse){decimalFlag=true;//输入小数点}//******************************************************************//******************************************************************编写复位按钮【C】的单击事件代码如下://******************************************************************//【C】按钮的单击事件代码//******************************************************************privatevoidbtnC_Click(objectsender,EventArgse){num1=0;num2=0;txtReadout.Text=0.;decimalFlag=false;}//******************************************************************//******************************************************************编写【+】、【-】、【*】、【/】按钮的单击事件代码如下://******************************************************************//【+】、【-】、【*】、【/】按钮的单击事件代码//******************************************************************privatevoidbtnAdd_Click(objectsender,EventArgse){myOperator=add;num1=double.Parse(txtReadout.Text);txtReadout.Text=0.;decimalFlag=false;}privatevoidbtnSub_Click(objectsender,EventArgse){myOperator=Sub;num1=double.Parse(txtReadout.Text);txtReadout.Text=0.;decimalFlag=false;}privatevoidbtnMul_Click(objectsender,EventArgse){myOperator=Mul;num1=double.Parse(txtReadout.Text);txtReadout.Text=0.;decimalFlag=false;}privatevoidbtnDiv_Click(objectsender,EventArgse){myOperator=Div;num1=double.Parse(txtReadout.Text);txtReadout.Text=0.;decimalFlag=false;}//******************************************************************//******************************************************************最后编写【=】按
本文标题:C#简单计算器设计
链接地址:https://www.777doc.com/doc-5573103 .html