C# 创建小计总数
嗨,我正在尝试创建一个程序,在这个程序中,txtbox1将根据用户的输入相乘,并自动显示小数点后的总数,与其他txtbox中的总数相同,但我很难将每个结果的所有小计汇总到总txtbox总数中 这是我在每个小计中的代码C# 创建小计总数,c#,textbox,C#,Textbox,嗨,我正在尝试创建一个程序,在这个程序中,txtbox1将根据用户的输入相乘,并自动显示小数点后的总数,与其他txtbox中的总数相同,但我很难将每个结果的所有小计汇总到总txtbox总数中 这是我在每个小计中的代码 private void txtbox11_TextChanged_1(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtbox12.Text)) txtTotal11.Text =
private void txtbox11_TextChanged_1(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(txtbox12.Text))
txtTotal11.Text =
(Convert.ToInt32(txtbox11.Text)*Convert.ToDecimal(112.61)).ToString();
}
private void txtbox12_TextChanged_1(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(txtbox12.Text))
txtTotal12.Text =
(Convert.ToInt32(txtbox12.Text) * Convert.ToDecimal(32.10)).ToString();
}
如何自动获取txtTotal11和txtTotal12的总和以显示在txtTotal13上?
或者我应该在每个txtotal上也放一个类似“textChanged”的事件吗?
谢谢各位,我真的很头疼。试试这个:(在每一个TextChanged事件中)
它将类似于:
private void txtboxSubTotal1_TextChanged_1(object sender, EventArgs e)
{
CalcGrandTotal();
}
private void txtboxSubTotal2_TextChanged_1(object sender, EventArgs e)
{
CalcGrandTotal();
}
private void CalcGrandTotal()
{
decimal grandTotal = 0;
decimal parseValue= 0;
if (!string.IsNullOrEmpty(txtboxSubTotal1.Text) && decimal.TryParse(txtboxSubTotal1.Text, parseValue))
grandTotal += parseValue;
if (!string.IsNullOrEmpty(txtboxSubTotal2.Text) && decimal.TryParse(txtboxSubTotal2.Text, parseValue))
grandTotal += parseValue;
txtboxGrandTotal.Text = grandTotal.ToString();
}
在代码中,您永远不会访问
txtotal13
。首先,清理代码。将转换与数学分开。然后在所有相关事件中更新所需的文本框,也就是说,将代码放在两个事件中。删除小数的转换,如32.10
到小数。将空复选框更改为IsNullOrWhitespace。是的,您应该将文本更改添加到所有小计文本框中,并计算小计的总和,并将值赋给grandTotal TextBox13。是的,我没有将代码放在txtbox13上,因为它不起作用,但如果您需要它,则它是:if(!string.IsNullOrEmpty(txtTotal13.Text))txtTotal13.Text=(Convert.ToDecimal(txtTotal9.Text)+(Convert.ToDecimal(txtTotal10.Text)+(Convert.ToDecimal(txtTotal11.Text)+(Convert.ToDecimal(txtTotal12.Text()(()()()))());我只是这门语言的初学者,如果它解决了你的问题,请在其中一篇帖子上做个标记作为回答。谢谢
private void txtboxSubTotal1_TextChanged_1(object sender, EventArgs e)
{
CalcGrandTotal();
}
private void txtboxSubTotal2_TextChanged_1(object sender, EventArgs e)
{
CalcGrandTotal();
}
private void CalcGrandTotal()
{
decimal grandTotal = 0;
decimal parseValue= 0;
if (!string.IsNullOrEmpty(txtboxSubTotal1.Text) && decimal.TryParse(txtboxSubTotal1.Text, parseValue))
grandTotal += parseValue;
if (!string.IsNullOrEmpty(txtboxSubTotal2.Text) && decimal.TryParse(txtboxSubTotal2.Text, parseValue))
grandTotal += parseValue;
txtboxGrandTotal.Text = grandTotal.ToString();
}