Visual Basic如何获取所有选中复选框的总和

时间:2014-10-23 21:45:03

标签: vb.net

我已经为我的应用程序中的每个复选框项赋值。我有一组复选框,我需要根据用户选择加总他们的总价值。我正在使用此代码,但它并不适用于总和。我不想使用,如果a.checked然后添加此else,如果这个选中添加那种方式。

   Dim abe As CheckBox = groupAlumni.Controls.OfType(Of CheckBox)().Where(Function(r) r.Checked = True).Sum()
    MsgBox(abe.Tag)

.sum部分发出错误。我怎样才能做到这一点?

选项2 另外我想我可以将复选框名称更改为cb0到cb15并创建一个while循环并逐个检查它们以查看选择了哪些并添加它们的值。如何在while循环期间更改cb编号?

我写了这个,但我真的需要cb0为cb1,cb2并在循环期间继续直到cb15。

如果有人回答任何一个选项,那对我来说没什么问题。谢谢!

    Dim counter As Integer = 0
    Dim cbScore As Integer = 0

    While counter < 15
        If cb0.Checked Then
            cbScore += cb0.Tag
        End If

        counter += 1
    End While

2 个答案:

答案 0 :(得分:3)

如果您只需要值的总和,请尝试:

cbScore = groupAlumni.Controls.OfType(Of CheckBox)().Where(Function(r) r.Checked).Sum(Function(r) CInt(r.Tag))

答案 1 :(得分:-1)

由于没有编译和不兼容的方法而被删除。