用C#做计数器!

tingningpower 2002-09-11 06:05:09
一、设计思路

  用C#写的比较基础的windows Form 程序,该计算器实现了基础的数学运算,如加,减,乘,除等任务.主要是通过该程序学习vs.net的

  编程环境,以及windows Form程序.主要针对初学者

  我们分两部份来实现程序,

  第一部份.程序界面

  1,以下控件表

 控件类型 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#项目,如下(pic1.jpg)

 


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

 




  最后大功告成,按Ctrl+F5吧,看看结果.如图(pic3.jpg)

...全文
586 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
TheAres 2002-09-11
  • 打赏
  • 举报
回复
是雷锋.
------------------------
I like to teach a fish how to swim.
haixu 2002-09-11
  • 打赏
  • 举报
回复
真是教学吗?还散分?

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧