C# 多数字简易计算器

C# 多数字简易计算器,c#,winforms,C#,Winforms,当我调试代码时,第一个数字正确执行功能,但当我单击按钮“=”时,结果显示在文本框中,当我使用单击另一个按钮时,数字将从结果中继续,而不是清除字段 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.

当我调试代码时,第一个数字正确执行功能,但当我单击按钮“=”时,结果显示在文本框中,当我使用单击另一个按钮时,数字将从结果中继续,而不是清除字段

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 CACalculator
{
    public partial class Form1 : Form
    {
        double num1, num2, result;
        string op;
        public Form1()
        {
            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void btn9_Click(object sender, EventArgs e)
        {
            txtnum.Text = txtnum.Text + btn9.Text;
        }

        private void btn8_Click(object sender, EventArgs e)
        {
            txtnum.Text = txtnum.Text+ btn8.Text;
        }

        private void btn7_Click(object sender, EventArgs e)
        {
            txtnum.Text = txtnum.Text+ btn7.Text;
        }

        private void btn6_Click(object sender, EventArgs e)
        {
            txtnum.Text = txtnum.Text+ btn6.Text;
        }

        private void btn5_Click(object sender, EventArgs e)
        {
            txtnum.Text = txtnum.Text+ btn5.Text;
        }

        private void btn4_Click(object sender, EventArgs e)
        {
            txtnum.Text = txtnum.Text+ btn4.Text;
        }

        private void btn3_Click(object sender, EventArgs e)
        {
            txtnum.Text = txtnum.Text+ btn3.Text;
        }

        private void btn2_Click(object sender, EventArgs e)
        {
            txtnum.Text = txtnum.Text+ btn2.Text;
        }

        private void btn1_Click(object sender, EventArgs e)
        {
            txtnum.Text = txtnum.Text+ btn1.Text;
        }

        private void btn0_Click(object sender, EventArgs e)
        {
            txtnum.Text = txtnum.Text+ btn0.Text;
        }

        private void btnadd_Click(object sender, EventArgs e)
        {
            num1 = Convert.ToDouble(txtnum.Text);
            txtnum.Clear();
            op = btnadd.Text;
        }

        private void btnsub_Click(object sender, EventArgs e)
        {
            num1 = Convert.ToDouble(txtnum.Text);
            txtnum.Clear();
            op = btnsub.Text;
        }

        private void btnmul_Click(object sender, EventArgs e)
        {
            num1 = Convert.ToDouble(txtnum.Text);
            txtnum.Clear();
            op = btnmul.Text;
        }

        private void btndiv_Click(object sender, EventArgs e)
        {
            num1 = Convert.ToDouble(txtnum.Text);
            txtnum.Clear();
            op = btndiv.Text;
        }

        private void btnquo_Click(object sender, EventArgs e)
        {
            num1 = Convert.ToDouble(txtnum.Text);
            txtnum.Clear();
            op = btnquo.Text;
        }

        private void btneql_Click(object sender, EventArgs e)
        {
            num2 = Convert.ToDouble(txtnum.Text);
            switch (op)
            {
                case "+":
                    result = num1 + num2;
                    break;
                case "-":
                    result = num1 - num2;
                    break;
                case "*":
                    result = num1 * num2;
                    break;
                case "/":
                    result = num1 / num2;
                    break;
                case "%":
                    result = num1 % num2;
                    break;
            }
            txtnum.Text = result.ToString();
        }

        private void btnC_Click(object sender, EventArgs e)
        {
            txtnum.Clear();
        }
    }

}

您必须清除Num1和num2以及文本框,如下所示:

    private void btnC_Click(object sender, EventArgs e)
    {
        txtnum.Clear();
        num1 = 0;    
        num2 = 0;   //clear all the numbers used in the calculator.
        result = 0; 
    }
否则,您将清除可视部分,但不清除其后面的数字,您实际使用这些数字进行计算


如果有帮助,请告诉我。

您的问题是?在输入其他号码之前,我如何清除结果。一旦您运行此操作并执行基于多个数字的任何操作,请使用一个双位数数字并添加另一个双位数数字,结果将是完美的,但在结果之后,当我们想做另一个操作时,结果是不清除的,我们使用按钮输入的数字将显示为继续操作result@user2738804在开始另一项操作之前,您不应该使用“取消”按钮吗?在开始任何其他操作之前,我没有使用任何“取消”按钮。问题在于结果生成并显示在文本框中,当我们为另一个操作输入另一个数字时,应清除上一个操作,文本框应仅包含我们输入的值,但此处我们在文本框中输入的值是从结果开始的,总数为结果的延续