Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 创建小计总数_C#_Textbox - Fatal编程技术网

C# 创建小计总数

C# 创建小计总数,c#,textbox,C#,Textbox,嗨,我正在尝试创建一个程序,在这个程序中,txtbox1将根据用户的输入相乘,并自动显示小数点后的总数,与其他txtbox中的总数相同,但我很难将每个结果的所有小计汇总到总txtbox总数中 这是我在每个小计中的代码 private void txtbox11_TextChanged_1(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtbox12.Text)) txtTotal11.Text =

嗨,我正在尝试创建一个程序,在这个程序中,txtbox1将根据用户的输入相乘,并自动显示小数点后的总数,与其他txtbox中的总数相同,但我很难将每个结果的所有小计汇总到总txtbox总数中

这是我在每个小计中的代码

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();
}