A DataSet is not a control: therefor is cannot appear in a
Controls
array. Only objects which derive from Control can be displayed, and thus appear in a
Controls
enumeration of any form.
I would change the way I was doing this: use an array of DataSets (or a List<DatsSet> by preference) and not comcern myself with the names at all.
Alternatively, use the TabPage.Tag field to reference the appropriate DataSet.