如何设定checkbox可选数目?
vb.net吧
全部回复
仅看楼主
level 3
Mobilefong 楼主
例如有4个,只可选2个,选完2个后其他2个灰色,按走一个之后变回正常,求高人,能的话说明一下这段程式码的意思谢谢!
2013年05月14日 11点05分 1
level 7
Private list As New List(Of CheckBox)
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
list.Add(Me.CheckBox1)
list.Add(Me.CheckBox2)
list.Add(Me.CheckBox3)
list.Add(Me.CheckBox4)
End Sub
Private Sub CheckBox1_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles
CheckBox1.CheckStateChanged, CheckBox2.CheckStateChanged, CheckBox3.CheckStateChanged, CheckBox4.CheckStateChanged
Dim obj As CheckBox = CType(sender, CheckBox)
If obj.CheckState = CheckState.Checked Then
list.Remove(obj)
Else
list.Add(obj)
End If
If list.Count <= 2 Then
list(0).Enabled = False
list(1).Enabled = False
Else
For Each chebox As CheckBox In list
chebox.Enabled = True
Next
End If
End Sub
很笨的办法,希望对你有帮助~
2013年05月14日 12点05分 2
有点不明白。。能解释吗。。
2013年05月14日 12点05分
回复 Mobilefong :你先把代码复制过去,在Form1中放置4个CheckBox控件,看看效果就明白了
2013年05月14日 12点05分
刚没空开电脑,我想问问,这样打的话,选择2个之后是不是4个都会变灰了?
2013年05月14日 15点05分
回复 Mobilefong :这问题问的有点奇怪哦[瀑布汗~]
2013年05月15日 00点05分
level 7
思路很简单,就是根据集合list里的数量来判断,每次选中或去掉钩钩,都会处理一事件,在事件中添加或者减少集合中的数量,如果数量等于2就要把集合中的CheckBox属性不可用,如果超过2就要把所有的ChekBOX属性都激活
这个方法通过设置n的数量可以控制任意数量的CheckBOX
2013年05月14日 12点05分 3
太感谢,我先试试
2013年05月14日 12点05分
1