早上好 我想问一些与复选框相关的问题 我必须有一组复选框,看起来像这样
我的问题是,每当我选中组 Purchase Requisition
中的任何复选框时,如何选中复选框 Purchase Requisition
,如果所有复选框均未选中,则复选框 Purchase申请
未选中。
我有此代码,并将此代码放在 Groupbox 内的所有复选框上采购申请
Sub check_Purchase_Req()
Dim oCtl As Control
Dim iX As Integer
For Each oCtl In GroupBox3.Controls
If TypeName(oCtl) = "CheckBox" And oCtl.Enabled = True Then iX = iX + 1
If iX > 0 Then
CheckBox1.Checked = True
ElseIf CheckBox19.Checked = False And CheckBox20.Checked = False And CheckBox21.Checked = False And CheckBox22.Checked = False And CheckBox23.Checked = False Then
CheckBox1.Checked = False
Exit For
End If
Next
End Sub
但是这段代码不符合我的需要
感谢 TYSM 的任何帮助
最佳答案
使用 linq 来完成此类任务可以让生活变得更轻松:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
GroupBox1.Controls.OfType(Of CheckBox).ToList() _
.ForEach(Sub(c) AddHandler c.CheckedChanged, AddressOf CheckChanged)
End Sub
Private Sub CheckChanged(sender As Object, e As EventArgs)
CheckBox1.Checked = GroupBox1.Controls.OfType(Of CheckBox).Any(Function(c) c.Checked)
End Sub
在上面的代码中,我认为 GroupBox1
是正确的,而 CheckBox1
是您想要根据 CheckBox
检查或取消选中的那个GroupBox1
的控件。
关于vb.net - 根据 GroupBox 的复选框设置 CheckBox 已选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39283513/