c# - 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();
}
解决方案
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);
}
推荐阅读
- mysql - 使用 MySQL 的多用户应用程序
- flutter - 当我在 Android Studio 中打开颤振项目时,Kotlin 和 Java 代码显示错误
- python - Python urllib 获取 HTML 页面必备
- reactjs - 如何将目标 url 地址传递给 react.js 中的表单?
- ios - Flutter iOS 在发布模式下启动应用程序时抛出异常类型:EXC_CRASH (SIGABRT) EXC_CORPSE_NOTIFY
- android - 你能在颤动中设计 video_player 包吗?
- graphene-python - 在 FastAPI 中,不能使用解析器异步等待
- java - 提高 Java 中按字符对大型字符串列表排序的速度
- c# - c#中泛型的类型转换
- c - 灵活长度数组上的 C realloc()