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

如何限制VB.NET 2010中复选框的选择,vb.net,Vb.net,我希望用户能够只选中5个复选框,然后如果他们试图选中5个以上的复选框,则其他未选中的复选框将被禁用,或者会弹出一个消息框,说“您只能选择5个座位”。然后,如果用户取消选中1框,则禁用的复选框将再次启用 您需要做的是让一个变量选中复选框计数: Private cbChecked As Integer = 0 然后,为所有复选框CheckedChanged事件创建一个处理程序,如下所示: Private Sub CheckBoxes_CheckedChanged(sender As Object,


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

您需要做的是让一个变量选中复选框计数:

Private cbChecked As Integer = 0
然后,为所有复选框
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

这可以让您知道要做什么。

您需要做的是在一个变量中选中复选框计数:

Private cbChecked As Integer = 0
然后,为所有复选框
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

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

我试试看。谢谢你的提示。如果是我干的,我会告诉你的。我会努力的。谢谢你的提示。如果是我干的,我会告诉你的。