C#简单计算器得到实现

先来张效果图吧(5分钟写好,莫怪)

代码:

数字按钮绑定的是button_Clickd()方法

运算符按钮绑的是Button_Clickp()方法

  思想:按下数字按钮,将数字按钮的值连接到textbox上,然后按下运算符判断是否为等于,并记录运算符的内容,以便后面做处理。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication4
{
    public partial class Form2 : Form
    {
        private string s;
        private double x, y;
        private Button btn;
       
        public Form2()
        {
            InitializeComponent();
        }


        private void Form2_Load(object sender, EventArgs e)
        {
            textBox1.Text = "";
            label1.Text="";

        }
        private void buttond_Click(object sender, EventArgs e)//数字符所绑定的事件
        {
            btn = (Button)sender;
            textBox1.Text = textBox1.Text + btn.Text;//将所点击的数字付呈现在textBox上面

        }
        private void buttonp_Click(object sender, EventArgs e)//运算符所绑定的事件
        {
            btn = (Button)sender;
            if (btn.Name != "button12")//如果不是"="
            {
                x = Convert.ToDouble(textBox1.Text);//将所所输入的第一个字符保留下来
                textBox1.Text = "";//清空textBox的内容
                s = btn.Name;//获取运算符的种类
                label1.Text = x.ToString();//将第一个所按的字符输出来


            }
            else
            {
                if (label1.Text == "")
                    MessageBox.Show("输入不正确!!", "信息提示", MessageBoxButtons.OK);
                else
                {
                    y = Convert.ToDouble(textBox1.Text);
                    switch (s)//使用s来判读所按的按钮
                    {
                        case "button13":
                            textBox1.Text = (x + y).ToString();
                            break;
                        case "button14":
                            textBox1.Text = (x - y).ToString();
                            break;
                        case "button15":
                            textBox1.Text = (x * y).ToString();
                            break;

                        case "button16":
                            if (y == 0)
                                MessageBox.Show("除零错误!!!", "信息提示", MessageBoxButtons.OK);
                            else
                                textBox1.Text = (x / y).ToString();


                            break;
                    }
                    label1.Text = textBox1.Text;
                }



            }
        }


    }
}




猜你喜欢

转载自blog.csdn.net/qq_38345598/article/details/79561013
今日推荐