我有一个包含12个复选框的组合框(包含一年中的几个月)。我需要在文本框中计算并显示该值。
例如,如果选中一个复选框,则单击按钮计算,它应该能够在文本框中显示值500,如果选中两个复选框,则总计应为1000,如果三个复选框则为总计应该是1500等等
我是这样开始的
Dim counter As Integer = 0
counter = counter + 500
现在已经打破了这个问题很长一段时间了:(
答案 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事件中但是我没试过这个