首页 > 解决方案 > 如何对列表框中文本框输入的值求和?

问题描述

我有一个listbox1 和一个textbox1、textbox2 和textbox3。我试图在从 textbox1 传输时添加第一行中的所有值,并在从 textbox2 传输时添加第二行中的所有值。例如,如果我在列表框中两次传递 500,它应该添加两个 500 并在列表框 1 中变为 1000 并显示为项目 1000。对于 textbox2 也是如此。textbox1 和 textbox 2 的值的总和应该显示在 textbox3 中。

我的代码在这里

If TextBox1.Text = "" Then Exit Sub

If e.KeyCode = Keys.Enter Then

    ListBox1.Items.Add(TextBox1.Text)
    Dim sum As Double
    For x As Integer = 0 To ListBox1.Items.Count - 1
        sum += CDbl(ListBox1.Items(x))

    Next
    TextBox3.Text = sum
    TextBox1.Text = ""
End If

标签: vb.net

解决方案


我在 textbox1 的 keyup 事件中尝试了这段代码并且工作正常。但我建议你,而不是你的 for 循环,你可以使用这样的 linq 查询:

 TextBox3.Text =   (From m In ListBox1.Items
                    Select CDbl(m)).Sum

我认为这是汇总项目集合的更快方法。


推荐阅读