如何限制VB.NET 2010中复选框的选择

时间:2017-02-15 08:13:58

标签: vb.net

enter image description here

我希望用户只能检查5个复选框,然后如果他们尝试检查超过5个,则其他未选中的复选框将被禁用,或者会弹出一个消息框,说“您只能选择5个席位”。然后,如果用户取消选中1框,则将再次启用已禁用的复选框。

1 个答案:

答案 0 :(得分:2)

您需要做的是拥有一个变量,其中包含已选中复选框的计数:

Private cbChecked As Integer = 0

然后,为所有Checkboxes CheckedChanged事件创建一个处理程序,如下所示:

Private Sub CheckBoxes_CheckedChanged(sender As Object, e As EventArgs) 
                     Handles CheckBox1.CheckedChanged, CheckBox2.CheckedChanged ...
Dim cb As CheckBox = TryCast(sender, CheckBox)
If cb.Checked Then
    cbChecked += 1
Else
    cbChecked -= 1
End If
If cbChecked = 5 Then
    For Each cbx As CheckBox In Me.Controls.OfType(Of CheckBox)
        If Not cbx.Checked Then
            cbx.Enabled = False
        End If
    Next
Else
    For Each cbx As CheckBox In Me.Controls.OfType(Of CheckBox)
        cbx.Enabled = True
    Next

End If

End Sub

这可以让你知道该怎么做。