题目:

用WinForm窗体程序设计一个计算器。

思路:

创建一个Windows Form应用程序,命名为Form1在Form1中添加一个TextBox控件,用于显示计算结果添加十个Button控件,分别表示0-9的数字按钮添加四个Button控件,分别表示加法、减法、乘法和除法的运算符按钮添加一个Button控件,表示等号按钮,用于执行运算添加一个Button控件,表示清除按钮,用于清除当前输入的数字和运算结果添加一个Label控件,用于显示”简易计算器在Form1的构造函数中初始化Value、value、K和flag的值为0为0-9的数字按钮的Click事件添加相应的处理函数,将点击的数字添加到number数组中,并更新value的值为加法、减法、乘法和除法的运算符按钮的Click事件添加相应的处理函数,将flag的值设置为相应的运算符标记;再为等号按钮的Click事件添加处理函数,根据flag的值执行相应的运算,并更新Value的值,并将Value显示在TextBox中;最后为清除按钮的Click事件添加处理函数,将Value、value、K和flag的值重置为0,并将TextBox的文本设置为"0"。

程序:

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

namespace WorkTwo
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        double Value = 0;//最终值

         double value = 0;//中间值

        int[] number = new int[10]; //设定输入数据位数不超过10位

         int K = 0;//位数
        int     flag = 0;//0:加   1:减   2:乘    3:除
       

        private void Form1_Load(object sender, EventArgs e)
        {

        }

    
        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }

        private void button10_Click(object sender, EventArgs e)
        {
            value = 0;//清空中间值
            number[K] = 0;
            K++;//位数增加
            for (int i = 0; i < K; i++)
            {
                value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
            }
            // Value = Value + value;
            textBox1.Text = value.ToString();//显示

        }

        private void button1_Click(object sender, EventArgs e)
        {
            value = 0;//清空中间值
           number[K] = 1;
            K++;//位数增加
            for (int i = 0; i < K; i++)

            {
                value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
            }
            // Value = Value + value;
            textBox1.Text = value.ToString();//显示

        }
       private void button2_Click(object sender, EventArgs e)
        {
            value = 0;//清空中间值
            number[K] = 2;
            K++;//位数增加
            for (int i = 0; i < K; i++)
            {
                value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
            }
            // Value = Value + value;
            textBox1.Text = value.ToString();//显示
            
        }

        private void button3_Click(object sender, EventArgs e)
        {
            value = 0;//清空中间值
            number[K] = 3;
            K++;//位数增加
            for (int i = 0; i < K; i++)
            {
                value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方

            }
            // Value = Value + value;
           textBox1.Text = value.ToString();//显示

          
        }

        private void button4_Click(object sender, EventArgs e)
        {
            value = 0;//清空中间值
            number[K] = 4;
            K++;//位数增加
            for (int i = 0; i < K; i++)
            {

                value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
            }
            // Value = Value + value;
            textBox1.Text = value.ToString();//显示
            
        }

        private void button5_Click(object sender, EventArgs e)
        {
            value = 0;//清空中间值
            number[K] = 5;
            K++;//位数增加
            for (int i = 0; i < K; i++)
            {
                value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
            }
            // Value = Value + value;
            textBox1.Text = value.ToString();//显示
            
        }
        private void button6_Click(object sender, EventArgs e)
        {
            value = 0;//清空中间值
            number[K] = 6;
            K++;//位数增加
            for (int i = 0; i < K; i++)
            {
                value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
            }
            // Value = Value + value;
            textBox1.Text = value.ToString();//显示

        }

        private void button7_Click(object sender, EventArgs e)
        {
            value = 0;//清空中间值
            number[K] = 7;
            K++;//位数增加
            for (int i = 0; i < K; i++)
            {
                value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
            }
            // Value = Value + value;
            textBox1.Text = value.ToString();//显示             
        }

        private void button8_Click(object sender, EventArgs e)
        {
            value = 0;//清空中间值
            number[K] = 8;
            K++;//位数增加
            for (int i = 0; i < K; i++)
            {
                value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
            }
            // Value = Value + value;
            textBox1.Text = value.ToString();//显示
        }

        private void button9_Click(object sender, EventArgs e)
        {
            value = 0;//清空中间值
            number[K] = 9;
            K++;//位数增加
            for (int i = 0; i < K; i++)
            {
                value += number[i] * System.Math.Pow(10, K - i - 1);//乘方:10的K次方
            }
            // Value = Value + value;
            textBox1.Text = value.ToString();//显示
            
        }

        private void button13_Click(object sender, EventArgs e)
        {
            //运算

            if (flag == 0)
            {
                Value = Value + value;
            }
            else if (flag == 1)
            {
                Value = Value - value;
            }
            else if (flag == 2)

            {
                Value = Value * value;
            }
            else if (flag == 3)

            {
                Value = Value / value;
            }

            flag = 0;//标记运算符
            textBox1.Text = Value.ToString();//显示
            value = 0;
            K = 0;            
        }

        private void button14_Click(object sender, EventArgs e)
        {
            //运算
            if (flag == 0)
            {
                Value = Value + value;
            }
            else if (flag == 1)

            {
                Value = Value - value;
            }
            else if (flag == 2)
            {
                Value = Value * value;
            }

            else if (flag == 3)
            {
                Value = Value / value;
            }
            flag = 1;//标记运算符
            textBox1.Text = Value.ToString();//显示
            value = 0;
            K = 0;
        }

        private void button15_Click(object sender, EventArgs e)
        {
            //运算
            if (flag == 0)

            {
                Value = Value + value;
            }

            else if (flag == 1)

            {
                Value = Value - value;
            }

            else if (flag == 2)

            {
                Value = Value * value;
            }

            else if (flag == 3)

            {
                Value = Value / value;
            }
            flag = 2;//标记运算符
            textBox1.Text = Value.ToString();//显示
            value = 0;
            K = 0;
        }

        private void button16_Click(object sender, EventArgs e)
        {
            //运算

            if (flag == 0)

            {
                Value = Value + value;
            }
            else if (flag == 1)

            {

                Value = Value - value;
            }
            else if (flag == 2)
            {
                Value = Value * value;
            }
            else if (flag == 3)
            {
                Value = Value / value;
            }
            flag = 3;//标记运算符
            textBox1.Text = Value.ToString();//显示
            value = 0;
            K = 0;
        }

        private void button12_Click(object sender, EventArgs e)
        {
            Value = 0;
            value = 0;
            K = 0;
            flag = 0;
            textBox1.Text = "0";
        }

        private void button11_Click(object sender, EventArgs e)
        {
            //运算
            if (flag == 0)

            {
                Value = Value + value;
            }
            else if (flag == 1)

            {
                Value = Value - value;

            }
            else if (flag == 2)

            {
                Value = Value * value;
            }
            else if (flag == 3)

            {
                Value = Value / value;
            }
            textBox1.Text = Value.ToString();//显示
            value = 0;
            K = 0;

        }
    }
}

运行截图:

36+76=112

 清除:

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐