Q: In a GroupBox usercontrol, exclude a sub-control on the ControlCollection container? 
SCENARIO

I've subclassed a GroupBox to customize it, I've added a CheckBox on my groupbox header to enable or disable the controls inside the groupbox's control collection.


PROBLEM

I consider this a design issue: My checkbox is accesible when iterating the control collection like this:
For Each c As Control In Me.ElektroGroupBox1.Controls
    If TypeOf c Is CheckBox Then
        MsgBox(c.Name)
    End If
Next

This is because I needed to add the chekbox inside the control collection to make it visible.

QUESTION

I could do something in my sub-classed GroupBox to permanently "exclude" my CheckBox when accesing the ControlCollection of my custom GroupBox?.

CODE

This is the checkbox related code:
public class myGroupbox : inherits groupbox

    Private WithEvents cb As CheckBox

    <Category("Controls")>
    Public ReadOnly Property CheckBox As CheckBox
        Get
            Return Me.cb
        End Get
    End Property

    Public Sub New()

        Me.CreateCheckBox()

    End Sub

    Private Sub CreateCheckBox()

        Me.cb = New CheckBox
        With Me.cb
            .Name = MyBase.GetType.Name & Me.cb.GetType.Name
            .AutoSize = False
            .Size = New Size(15, 15)
            .Location = New Point(6, 0)
            .Checked = True
        End With

        MyBase.Controls.Add(Me.cb)

    End Sub

    Private Sub CB_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs) _
    Handles cb.CheckedChanged

        Dim checked As Boolean = DirectCast(sender, CheckBox).Checked

        For Each ctrl As Object In MyBase.Controls

            If Not ctrl.Equals(Me.cb) Then
                ctrl.Enabled = checked
            End If

        Next ctrl

    End Sub
end class

