>I know this method has some flaws, for instance it's not fully recursive and you have to handcode the baseclass of the controls you want to cicle through.
Well, I usually use option #1 in my FAQ (this was the original posting), to create an array of the controls I need to control in the first place. Some other programmers don't like this method (see the thread referenced in the FAQ for details), but it does seem to work in practice.
Saludos, Hilmar.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)