Using the Undocumented Count Property of Control Arrays

In VB4, each control array is its own collection and thereforehas a Count property. This was not the case in version 3. It isnow possible to loop through all of the elements of a controlarray without having to hard-code the maximum value of the arrayindex.

This feature is not documented in the VB4 manuals or online help.The likely reason for this is that a control array collectiondoes not support all of the standard methods and properties ofa “real” collection. The Count property and the Itemmethod are supported, but the Add and Remove methods are not.

This simple example uses the Count property to determine whichelement of an array of option buttons has been selected:

 Private Sub FindSelectedOption ( )        Dim ii As Integer        For ii = 0 To Option1.Count - 1                If Option1(ii).Value Then                MsgBox "Option Button " & ii _                        & " is selected."                End If        Next iiEnd Sub

This procedure will only work if the array indices are continuous,with no gaps in the sequence. If, for example, the control arrayconsists of elements 0, 1, 3, 4, the above procedure will generatea runtime error 340 when it tries to evaluate Option1(2), andeven if this first error is trapped, Option1(4) will never bereached in the loop, and therefore will not be evaluated.

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


Recent Articles: