Vb.net 为每个控制回路取消选中a中的所有单选按钮

Vb.net 为每个控制回路取消选中a中的所有单选按钮,vb.net,radio-button,Vb.net,Radio Button,我的表格上有7个单选按钮,一组5个,另一组2个。当他们在分组框中时,选中其中一个单选按钮并没有取消选中同一分组框中的其他按钮,原因是-我认为是因为自动检查值设置为假,否则加载表单时必须如此,默认情况下,单选按钮之一将被选中,我不希望发生这种情况 因此,为了取消选中同一组框中的其他单选按钮,我正在尝试编写一个子程序,在单选按钮单击事件中将值设置为True后调用该子程序 For Each c As Control In Me.Controls If TypeOf c Is RadioBu

我的表格上有7个单选按钮,一组5个,另一组2个。当他们在
分组框中时,选中其中一个
单选按钮
并没有取消选中同一
分组框中的其他按钮
,原因是-我认为是因为
自动检查
值设置为
,否则加载表单时必须如此,默认情况下,
单选按钮之一将被选中,我不希望发生这种情况

因此,为了取消选中同一
组框中的其他
单选按钮
,我正在尝试编写一个子程序,在
单选按钮单击事件中将值设置为
True
后调用该子程序

For Each c As Control In Me.Controls
      If TypeOf c Is RadioButton Then
          If c.Name <> "rbtnAllSuppliers" AndAlso c.Name <> "rbtnIndividual" Then
              If c.Name <> rbtn.Name Then
                  For Each rbt As RadioButton In Me.Controls
                      If rbt.Name = c.Name Then
                          rbt.Checked = False
                      End If
                  Next
              End If
          End If
      End If
Next
但是我不确定我会为
代码的
地址放什么?作为代表,你会在这里做什么?如果我将currentSubroutine()的地址设置为
,肯定会创建一个无限循环

有没有办法用我不知道的类似方法取消选中所有
单选按钮


实现这一点的最佳方法是什么?

通过使用
Me.Controls.OfType(Of RadioButton)
您可以避免检查循环中的类型,并确保每个控件都是
RadioButton
您是否尝试过
Me.Controls.OfType(Of RadioButton)
以避免触及任何标签?@AFriend Perfect!到目前为止,工作似乎完全符合要求,谢谢。
For Each c As Control In Me.Controls
        If c.GetType Is GetType(RadioButton) Then
            If c.Name <> "rbtnAllSuppliers" AndAlso c.Name <> "rbtnIndividual" Then
                If c.Name <> rbtn.Name Then
                    AddHandler DirectCast(c, RadioButton).Checked, AddressOf c.
                End If
            End If
        End If
    Next