首页 > 解决方案 > C# 程序陷入 void 方法

问题描述

我正在使用充当收银机的 Windows 窗体编写 C# 程序,用户可以在其中输入商品、数量和成本。然后它在列表框中显示条目,并在其他 3 个文本框中显示小计、计算的税和计算的总计。它在第一个条目上运行良好,即使我注意到它在调试时运行两次计算和显示小计的方法。当我进入第二个项目并重新计算小计时,程序将崩溃,并且在调试中运行时将不断循环通过该方法来计算和更新我用于小计的文本框。它确实在循环遍历该方法时计算变量中的新小计,它只是不离开该方法。我在处理按钮单击事件的方法中调用此方法以将项目添加到列表中。一世'

     private void textBox4_TextChanged(object sender, EventArgs e)
    {
        itemTotal = Decimal.Multiply(quantityValue, costValue);
        if (itemCount == 1)
        {
            subtotal = itemTotal;
        }
        if (itemCount > 1)
        {
            subtotal = Decimal.Add(itemTotal, subtotal);
        }
        textBox4.Text = subtotal.ToString();
    }

标签: c#winforms

解决方案


在此处输入图像描述

double total =0;
double subtotal = 0;
double tax = 0;
double taxrate = 0.14;

private void button1_Click(object sender, EventArgs e)
{
     int qnt = int.Parse(qnttextBox.Text);
     double price = double.Parse(pricetextBox.Text);
     subtotal = subtotal +(qnt * price);
     subtextBox.Text = subtotal.ToString();
     tax = subtotal * taxrate;
     taxtextBox.Text = tax.ToString();
     total = subtotal + tax;
     totaltextBox.Text = total.ToString();
     StringBuilder builder = new StringBuilder(nametextBox.Text + "  " + qnttextBox.Text + "  " + pricetextBox.Text);

     listBox1.Items.Add(builder);
}

推荐阅读