0

你能帮我吗..
我有一个 5 个文本框,你将如何自动获取那些有值的文本框的总和并将其显示到 textboxtotal。就像当您在 textbox1 中输入一个数字时,该值显示在 textboxtotal 上,当您在另一个文本框中输入一个值时,它会自动获取总和等等......当您清除在一个文本框中输入的值时,textboxtotal 将是更新..

希望你能帮我

4

2 回答 2

1

将所有输入文本框(没有结果文本框)放入一些容器组件中,例如面板或组框。设置为所有输入文本框相同的离开处理程序,代码如下:

private void textBox1_Leave(object sender, EventArgs e)
    {
        GroupBox parent = (((TextBox) sender).Parent as GroupBox);
        int sum = 0;
        foreach (Control control in parent.Controls)
        {
            TextBox textBox = control as TextBox;
            if (textBox != null)
            {
                string tbContent = (textBox).Text;
                int tbNumValue;
                if(int.TryParse(tbContent, out tbNumValue))
                {
                    sum += tbNumValue;
                }
            }
        }

        tbResult.Text = sum == 0 ? string.Empty : sum.ToString();
    }
于 2013-01-24T08:50:21.740 回答
1

您可以这样做来添加值 -

    public void AddValues()
    {
        int val1, val2, val3, val4, val5;

        int.TryParse(textBox1.Text, out val1);
        int.TryParse(textBox2.Text, out val2);
        int.TryParse(textBox3.Text, out val3);
        int.TryParse(textBox4.Text, out val4);
        int.TryParse(textBox5.Text, out val5);

        textboxtotal.Text = (val1 + val2 + val3 + val4 + val5).ToString();
    }

现在,对于您问题的其他部分,只需调用您AddValues()TextChanged文本框即可。

于 2013-01-24T03:35:28.290 回答