在vb.net的组框中添加复选框

时间:2012-05-09 05:33:49

标签: vb.net

我有一个包含12个复选框的组合框(包含一年中的几个月)。我需要在文本框中计算并显示该值。

例如,如果选中一个复选框,则单击按钮计算,它应该能够在文本框中显示值500,如果选中两个复选框,则总计应为1000,如果三个复选框则为总计应该是1500等等

我是这样开始的

    Dim counter As Integer = 0
    counter = counter + 500

现在已经打破了这个问题很长一段时间了:(

2 个答案:

答案 0 :(得分:0)

您可以使用for循环查看组框中的所有复选框

'Initialize the total value
Dim Total As Integer = 0

'Loop all controls in the group box
For Each ctrl As Control In GroupBox1.Controls

    'Only calculate if the control is a check box
    If TypeName(ctrl) = "CheckBox" Then

        'Validate if the checkbox is checked
        If CType(ctrl, CheckBox).Checked Then

            'Add 500 for each checked checkbox
            Total += 500
        End If

    End If

Next

TextBox1.Text = Total.ToString

答案 1 :(得分:0)

另外还有两个选择:

按以下方式设置.CheckedChanged事件:

Private Sub Month_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles Ctrl1.CheckedChanged, Ctrl2.CheckedChanged, Ctrl3.CheckedChanged, ... etc.

if sender.checked then
    Total +=500
else
    Total-= 500
End if

end sub

这样你就不需要计算按钮了。

我认为你也可以使用CheckedListBox并使用

Me.Ctrls.CheckedItems.Count * 500

在calculate按钮sub或SlectedIndexChanged事件中但是我没试过这个