第02讲 简易计算器的设计.doc_第1页
第02讲 简易计算器的设计.doc_第2页
第02讲 简易计算器的设计.doc_第3页
第02讲 简易计算器的设计.doc_第4页
第02讲 简易计算器的设计.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第02讲 计算器2.1 计算器简介大家都知道,计算器是日常生活中不可缺少的一个工具,在Microsoft的Windows操作系统中,附带了一个计算器程序,有标准型和科学型两种模式。Windows XP下的标准型和科学型计算器程序分别如图2-1和图2-2所示。图2-1 Windows XP下的标准型计算器图2-2 Windows XP下的科学型计算器Windows操作系统下附带的计算器程序功能相当的强大,本课我们将模仿Windows的计算器,使用Visual C# 2005开发平台开发一个功能相对简单的计算器应用程序,它能完成加、减、乘、除运算。接下来详细的介绍简易计算器的设计方法和步骤。2.2 界面设计及属性设置用户界面设计是软件开发中非常重要的一个部分,用户界面的好坏直接影响软件的质量,本节将介绍如何设计简易计算器的用户界面以及界面上各控件的属性设置。2.2.1 界面设计打开Visual Studio 2005开发工具,新建一个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 编写代码本程序需要用到一些公共变量,例如用来接收操作数、运算结果,判断输入的是否为小数等,因此首先在代码的通用段声明以下变量:/*double num1, num2, result; / 操作数及运算结果bool decimalFlag = false; / 判断输入的是否为小数string myOperator; / 操作类型/*接下来编写一个名为“NumClick”的方法,单击数字按钮时,调用NumClick方法,将输入的数字追加到文本框中,代码如下:/*/ 单击数字按钮时,调用如下NumClick方法/*public void NumClick(int myNumber) 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 + .; /*/*编写窗体的载入事件代码如下:/*/ 窗体载入事件代码/*private void Form1_Load(object sender, EventArgs e) txtReadout.Text = 0.; / 指定文本框的对齐方式为右对齐 txtReadout.TextAlign = HorizontalAlignment.Right;/*/*编写数字按钮【0】【9】的单击事件代码如下:/*/ 数字按钮【0】【9】的单击事件代码/*private void btnNum0_Click(object sender, EventArgs e) NumClick(0);private void btnNum1_Click(object sender, EventArgs e) NumClick(1);private void btnNum2_Click(object sender, EventArgs e) NumClick(2);private void btnNum3_Click(object sender, EventArgs e) NumClick(3);private void btnNum4_Click(object sender, EventArgs e) NumClick(4);private void btnNum5_Click(object sender, EventArgs e) NumClick(5);private void btnNum6_Click(object sender, EventArgs e) NumClick(6);private void btnNum7_Click(object sender, EventArgs e) NumClick(7);private void btnNum8_Click(object sender, EventArgs e) NumClick(8);private void btnNum9_Click(object sender, EventArgs e) NumClick(9);/*/*编写小数点按钮【.】的单击事件代码如下:/*/ 【.】按钮的单击事件代码/*private void btnDot_Click(object sender, EventArgs e) decimalFlag = true; / 输入小数点/*/*编写复位按钮【C】的单击事件代码如下:/*/ 【C】按钮的单击事件代码/*private void btnC_Click(object sender, EventArgs e) num1 = 0; num2 = 0; txtReadout.Text = 0.; decimalFlag = false;/*/*编写【+】、【-】、【*】、【/】按钮的单击事件代码如下:/*/ 【+】、【-】、【*】、【/】按钮的单击事件代码/*private void btnAdd_Click(object sender, EventArgs e) myOperator = add; num1 = double.Parse(txtReadout.Text); txtReadout.Text = 0.; decimalFlag = false;private void btnSub_Click(object sender, EventArgs e) myOperator = Sub; num1 = double.Parse(txtReadout.Text); txtReadout.Text = 0.; decimalFlag = false;private void btnMul_Click(object sender, EventArgs e) myOperator = Mul; num1 = double.Parse(txtReadout.Text); txtReadout.Text = 0.; decimalFlag = false;private void btnDiv_Click(object sender, EventArgs e) myOperator = Div; num1 = double.Parse(txtReadout.Text); txtReadout.Text = 0.; decimalFlag = false;/*/*最后编写【=】按钮的单击事件代码如下:/*/ 【=】按钮的单击事件代码/*private void btnAmount_Click(object sender, EventArgs e) num2 = double.Parse(txtReadout.Text); switch (myOperator) case add: result = num1 + num2; txtReadout.Text = result.ToString(); break; case Sub: result = num1 - num2; txtReadout.Text = result.ToString(); break; case Mul: result = num1 * num2; txtReadout.Text = result.ToString(); break; case Div: if (num2 = 0) txtReadout.Text = 除数不能为“0”!; else result = num1 / num2; txtReadout.Text = result.ToString(); break; /*/*2.4 运行结果运行程序,计算加法“23 + 1.8”,结果如图2-4所示。图2-4 加法运算单击【C】按钮,再计算减法“2.3 - 18”,结果如图2-5所示。图2-5 减法运算单击【C】按钮,再计算乘法“2.3 1.8”,结果如图2-6所示。图2-6 乘法运算单击【C】按钮,再计算除法“23.18 0”,结果如图2-7所示。图2-7 除数为“0”的除法运算单击【C】按钮,再计算除法“2.3 1.8”,结果如图2-8所示。图2-8 除法运算作业2一、选择题1. 若要使窗体在运行时,用户不可以使用鼠标托拽窗体边缘的方法来改变窗体的大小,应当将窗体的( )属性设为“GrowAndShrink”。A. MaximizeBoxB. MinimizeBoxC. StartPositionD. AutoSizeMode2. 在Visual C# 2005中,用于连接两个字符串的运算符是( )。A. B. &C. +D. 3. 确定文本框控件中文本对齐方式的属性是( )。A. TextAlignB. TextC. ReadOnlyD. Anchor4. Substring()用于( )。A. 清除字串前后所有空格B. 截取字符串的一部分C. 获取字符串的长度D. 将字符串中的子字符串替换成另外一个字符串二、填空题1. 用于确定窗体第一次出现时的位置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论