0

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

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

我是这样开始的

    Dim counter As Integer = 0
    counter = counter + 500

很长一段时间以来,我一直在为此烦恼:(

4

2 回答 2

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
于 2012-05-09T05:40:24.047 回答
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

在计算按钮子或 SlectedIndexChanged 事件中但我没有尝试过

于 2012-10-10T02:22:05.950 回答