Nadya,
>... we can store these checkboxes in array using amembers once and don't need to travel through each form's control and use recursion for composite controls...
The form already has an "array" with the controls in it, Thisform.Controls, and recursive code is not difficult to write to tranverse any nesting of conatiners that may exist. The benefit of using the existing collections instead of creating your own is that VFP manages the collecitons for you while any array you create would need to be brought up to date for any changes made to the fomr or its containers. Recursive code to traverse the containership would only need to be written once and placed in the form class and never thought about again.
>There is another idea, which I was a little bit lazy to explain in my first message. The checkbox class can have property IsSelected and CheckStatus with Assign method defined. Using thisform.SetAll("CheckStatus",.t.) we can populate the array of checked checkboxes on the fly...
Again the checkbox already has a property named value that can tell you if it is checked or not, so why make another one? And one can create an assign method for the value property adn bypass any need for the other properties.