2017-02-15 120 views
0

enter image description here如何限制在VB.NET复选框的选择2010

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

回答

2

你需要做的是有一个变量,检查复选框的计数:

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 

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

+0

我会尝试。谢谢你的提示。我会告诉你,如果我做到了。 – Joshua