【问题标题】:Problem with adding totals from user selected CheckBoxes从用户选择的复选框添加总计时出现问题
【发布时间】:2022-12-03 07:47:30
【问题描述】:

我正在创建一个表单,允许用户从一组汽车服务复选框中进行选择。在表单中,用户从定价服务列表中进行选择,并根据所选内容计算最终总数。

所选服务被添加的逻辑是 放置在返回总数的方法中。

一旦用户点击计算按钮,所有选择的价格将被加起来并显示在总费用标签上。

    public partial class Automotive_Shop : Form
    {
        const int salesTax = (6 / 100);
        // prices for services
        const int
            oilChange = 26,
            lubeJob = 18,
            radiatorFlush = 30,
            transissionFlush = 80,
            inspection = 15,
            mufflerReplacement = 100,
            tireRotation = 20;

        int total = 0;

        public Automotive_Shop()
        {
            InitializeComponent();
        }




        private int OilLubeCharges()
        {
            if (oilChangeCheckBox.Checked == true)
            {
                total += oilChange;
            }                 
            if (lubeJobCheckBox.Checked == true)
            {
                total += lubeJob;
            }
          
            return total;
        }
           
      

      


        private void calculateButton_Click(object sender, EventArgs e)
        {
            totalFeesOutput.Text = OilLubeCharges().ToString("C");
                
        }

        private void exitButton_Click(object sender, EventArgs e)
        {
            // close application
            this.Close();
        }
    }

总数应该只加一次。

例如: 如果选中“换油”复选框, 那么总数应该是 26 美元。

如果选中“润滑作业”复选框, 那么总数应该是18美元。

如果两个复选框都被选中, 那么总数应该是 44 美元。

最终发生的事情是,在选中第一个复选框并单击计算按钮后, “总”变量值继续累加。

所以如果我选择“换油”然后点击计算,我得到 26 美元。 如果我取消选择它并选择“润滑工作”,总计不等于 18 美元,而是 44 美元。

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    要解决此问题,需要在计算发生之前将 total 变量重置为 0。

    计算按钮点击事件应更新为如下所示:

    private void calculateButton_Click(object sender, EventArgs e)
    {
        total = 0;
        totalFeesOutput.Text = OilLubeCharges().ToString("C");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-12
      • 1970-01-01
      • 1970-01-01
      • 2014-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多