0

wassup 伙计们,我进行了搜索,发现了一些他们提供帮助的帖子,但由于某种原因,它不能完全正常工作

好的,这是我的代码:

 if (!string.IsNullOrEmpty(amountBox1.Text) && !string.IsNullOrEmpty(amountBox2.Text) &&       !string.IsNullOrEmpty(amountBox3.Text) && !string.IsNullOrEmpty(amountBox4.Text))
            totalBox.Text = (Convert.ToInt32(amountBox1.Text) + Convert.ToInt32(amountBox2.Text) + Convert.ToInt32(amountBox3.Text) + Convert.ToInt32(amountBox4.Text)).ToString();

(TotalBox isEnabled 设置为 false,因此它变为只读)

现在这在某种程度上可行,但它不会像我想要的那样更新。我希望 totalbox 在 amountBox1 有一个值时立即更新,然后在 amountBox2 有一个值时更新两个框,等等第四个。

它这样做的方式是它不会更新,直到每个盒子里都有东西,特别是直到amountBox4有一个值。我确定您知道这一事实,如果用户只使用四个中的两个怎么办?非常感谢帮助

4

1 回答 1

0

尝试:

var allAmounts = new List<int>();

if (!String.IsNullOrEmpty(amountBox1.Text))
    allAmounts.Add(Convert.ToInt32(amountBox1.Text));

if (!String.IsNullOrEmpty(amountBox2.Text))
    allAmounts.Add(Convert.ToInt32(amountBox2.Text));

if (!String.IsNullOrEmpty(amountBox3.Text))
    allAmounts.Add(Convert.ToInt32(amountBox3.Text));

if (!String.IsNullOrEmpty(amountBox4.Text))
    allAmounts.Add(Convert.ToInt32(amountBox4.Text));

totalBox.Text = allAmounts.Sum().ToString();
于 2013-04-30T05:33:49.980 回答