vb.net - 如何对列表框中文本框输入的值求和?
问题描述
我有一个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
解决方案
我在 textbox1 的 keyup 事件中尝试了这段代码并且工作正常。但我建议你,而不是你的 for 循环,你可以使用这样的 linq 查询:
TextBox3.Text = (From m In ListBox1.Items
Select CDbl(m)).Sum
我认为这是汇总项目集合的更快方法。
推荐阅读
- ruby-on-rails - 如何在 Rails 的供应商子文件夹中获取资产?
- redux - 操作调用使用 fetch-mock 返回“未定义”
- java - 输入实时html中的最大值限制
- scala - 了解 Akka FSM `onTransition`
- android - RxJava - 在后台顺序调用两个方法并在主线程中返回值
- python - 时间序列中的样条插值
- python - Bokeh Slider 自定义 JS 回调
- javascript - jQuery UI Datepicker Gravity Forms 提醒 1 天下午 5 点后
- php - PHP:检查目录是否为空的最快方法?
- c - 动态数组的C值错误