this.CallRecursive(this.Controls); public void CallRecursive(ControlCollection oControl) { for (int i = 0; i < oControl.Count; i++) { object o = oControl[i]; if (o is "any of the container controls") { Control c = (Control)o; this.CallRecursive(c.Controls); } else // do whatever you needed to do } }~~Bonnie