当前位置: 首页 > wzjs >正文

南通网站建设推广b站视频推广网站

南通网站建设推广,b站视频推广网站,网站建设方案书ppt,深圳哪家网页设计好版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的 【例 8.64】【项目:code8-064】一个简易计算器。 先考虑计算器的设计,窗体上控件的摆放可以参考windows自带的…

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的

【例 8.64【项目:code8-064】一个简易计算器。

先考虑计算器的设计,窗体上控件的摆放可以参考windows自带的最基本那种计算器。下图是计算器控件摆放:

图8-107 计算器控件摆放

控件命名:

表8-1 计算器控件名称

控件名称

控件类型

文本

控件名称

控件类型

文本

txtValue

TextBox

0

btnClear

Button

C

btnBack

Button

<-

btnSquare

Button

X^2

btnAdd

Button

+

btnSub

Button

-

btnMul

Button

/

btnDiv

Button

*

btnNegPos

Button

+/-

btnDot

Button

.

btnEqual

Button

=

btnNum0-9

Button

0-9

txtValue的readonly属性设置为True;按钮的FlatStyle属性设置为Popup。

考虑到加减乘除运算符操作时差不多,所以合并使用一个事件,请在“Form1.Designer.cs”内添加或修改成如下内容:

 this.btnDiv.Click += new System.EventHandler(this.btnAdd_Click);

     this.btnMul.Click += new System.EventHandler(this.btnAdd_Click);

     this.btnSub.Click += new System.EventHandler(this.btnAdd_Click);

     this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);

同样,按下数字按键操作差不多,所以合并使用同一个事件,请在“Form1.Designer.cs”内添加或修改成如下内容:

 this.btnNum1.Click += new System.EventHandler(this.btnNum1_Click);

this.btnNum2.Click += new System.EventHandler(this.btnNum1_Click);

 ……

具体代码如下:

        //做运算的第一个数字

        Double numFirst;

        //做运算的第二个数字

        Double numSecond;

        //运算符号

        string operatesymbol;

        //当前是否做了计算

        bool blHasCalculate;

        //当前是否按下运算符

        bool blHasOperator;

        private void Form1_Load(object sender, EventArgs e)

        {

            blHasCalculate = false;

            blHasOperator = false;

        }

        //清除计算结果

        private void btnClear_Click(object sender, EventArgs e)

        {

            txtValue.Text = "0";

            operatesymbol = "";

            blHasCalculate = false;

            blHasOperator = false;

        }

        //删除最后一个数字

        private void btnBack_Click(object sender, EventArgs e)

        {

            if (txtValue.Text.Length == 1)

                txtValue.Text = "0";

            else if (txtValue.Text.Length > 1)

                txtValue.Text = txtValue.Text.Substring(0, txtValue.Text.Length - 1);

        }

        //按下平方按钮

        private void btnSquare_Click(object sender, EventArgs e)

        {

            Button btnclick = (Button)sender;

            numFirst = Double.Parse(txtValue.Text);

            Double dbValue;

            dbValue = numFirst * numFirst;

            string strValue = dbValue.ToString();

            txtValue.Text = strValue;

            blHasCalculate = true;

            blHasOperator = false;

        }

        //按下运算符按钮

        private void btnAdd_Click(object sender, EventArgs e)

        {

            Button btnclick = (Button)sender;

            if (blHasOperator == false)

            {

                numFirst = Double.Parse(txtValue.Text);

                operatesymbol = btnclick.Text;

                txtValue.Text = "0";

                blHasOperator = true;

            }

            else

                MessageBox.Show("请先按下等于号后继续计算");

        }

        //按下正负号按钮

        private void btnNegPos_Click(object sender, EventArgs e)

        {

            if (txtValue.Text.Substring(0, 1) == "-")

                txtValue.Text = txtValue.Text.Substring(1, txtValue.Text.Length - 1);

            else

                txtValue.Text = "-" + txtValue.Text;

        }

        //按下小数点

        private void btnDot_Click(object sender, EventArgs e)

        {

            if(txtValue.Text.IndexOf('.')<0)

                txtValue.Text += ".";

        }

        //按下等于按钮

        private void btnEqual_Click(object sender, EventArgs e)

        {

            numSecond = Double.Parse(txtValue.Text);

            Double dbValue=0;

            switch(operatesymbol)

            {

                case "+":

                    dbValue = numFirst + numSecond;

                    break;

                case "-":

                    dbValue = numFirst - numSecond;

                    break;

                case "*":

                    dbValue = numFirst * numSecond;

                    break;

                case "/":

                    if( numSecond == 0)

                    {

                        MessageBox.Show("除数不能为0!");

                        return;

                    }

                    dbValue = numFirst / numSecond;

                    break;

                default:

                    break;

            }

            blHasCalculate = true;

            blHasOperator = false;

            string strValue = dbValue.ToString();

            txtValue.Text = strValue;

        }

        //按下数字按钮

        private void btnNum1_Click(object sender, EventArgs e)

        {

            Button btnclick = (Button)sender;

            string addnumber = btnclick.Text;

            switch(txtValue.Text)

            {

                case "0":

                    txtValue.Text = addnumber;

                    break;

                case "-0":

                    txtValue.Text = "-" + addnumber;

                    break;

                default:

                    if (blHasCalculate == true)

                    {

                        txtValue.Text = addnumber;

                        blHasCalculate = false;

                    }

                    else

                        txtValue.Text += addnumber;

                    break;

              }

     }

学习更多vb.net知识,请参看vb.net 教程 目录

学习更多C#知识,请参看C#教程 目录

http://www.dtcms.com/wzjs/508692.html

相关文章:

  • 洛阳作公司网站镇江网站建站
  • 织梦网站怎样做安全防护百度指数资讯指数是指什么
  • 网站动图banner怎么做产品网络营销推广方案
  • 法律平台网站建设方案汽车品牌推广策划方案
  • 一 网站建设的总体目标南昌seo排名公司
  • 政府网站建设整改方案竞价账户托管哪家好
  • 项目网站的建设有两种模式免费正规的接单平台
  • 非公党委网站的建设旅游产品推广有哪些渠道
  • 惠州网站建设科技有限公司网络服务器是指什么
  • 电商平台官网简述seo的基本步骤
  • 建设网站的报告上海网络推广公司网站
  • 瑞安这边有没有做网站的京津冀协同发展
  • 大连市建委官方网站手游推广去哪里找客源
  • 网站建设与制作实训报告营销方式都有哪些
  • 全国文明网联盟网站建设拉新app推广平台排名
  • 通化网站建设公司seo二级目录
  • app开发 wordpress郑州关键词网站优化排名
  • 网站开发是前端开发吗天津seo推广软件
  • 网站建设越来越注重用户体验怎么做网站教程
  • 论坛网站怎么做谷歌seo服务
  • 介绍自己做的电影网站计算机培训课程
  • 如何开网站赚钱西地那非片吃了多久会硬起来
  • 河南做网站推广哪个好优化网站推广排名
  • wordpress网站安装插件美国疫情最新消息
  • 网站建设在线培训数据查询网站
  • 网站引导页在线做海外seo培训
  • 泉州网站建设服务网站搭建需要多少钱
  • 潍坊市城市建设官网站软文广告的案例
  • 高校官方网站建设女生学电子商务后悔了
  • 做威客网的正规网站有哪些奉化云优化seo