If you read your code, your not handling any groupbox's all your checking for are checkboxes, and to see inside something else control array you need to specify that control array.
Its a simple fix, I would seperate out all the code.
Code:
Private Sub Searcher(ByVal cntrl As Control)
Dim n As ControlCollection = cntrl.Controls
For Each ctrl As Control In n
If ctrl.GetType = GetType(CheckBox) Then 'see if the ctrl is a checkbox
'The thing about this bit here, is if you tag all the chkboxes with a letter then
'you can check all these tags to make proper sure its the ones you want
'to disable. or you can find some other method, if you set this sub routine
'to start on the Form (i.e. Me) then it will recursively search all the controls on the form until it all done
Dim chk As CheckBox = CType(ctrl, CheckBox) 'convert the ctrl to checkbox
If Not chk.CheckState = CheckState.Unchecked Then 'this works for even three state checkboxes
chk.Checked = False
End If
Else
Try
Searcher(ctrl) 'if the ctrl has a control array then search if it throws back an error skip over it
Catch ex As Exception
Exit Sub
End Try
End If
Next
End Sub
You can take this a skeleton code and customise it to the ends of the earth to get it to check and so on forth and you can have do what ever in terms of searching, its pretty versatile!