I would suggest to
add event handler[
^] for each CheckBox and get checked checkboxes into
List(of T) generic class[
^].
Public Class Form1
Private WithEvents oChk As CheckBox
Private CheckedCheckBoxes As List(Of CheckBox) = New List(Of CheckBox)
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For Each chb As CheckBox In Me.GroupBox1.Controls
If chb.Checked Then CheckedCheckBoxes.Add(chb)
Next
End Sub
Private Sub oChk_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles oChk.CheckStateChanged
Dim chb As CheckBox = CType(sender, CheckBox)
MsgBox(chb.Name & " is Checked: " & chb.Checked)
End Sub
Public Sub New()
InitializeComponent()
For Each chb As CheckBox In Me.GroupBox1.Controls
AddHandler chb.CheckStateChanged, AddressOf oChk_CheckStateChanged
Next
End Sub
End Class