Do you mean any form created via the application's main form in a manner like this?
procedure TMyMainForm.CreateSubForm;
begin
TMySubForm.Create(Self);
end;
Try this
procedure FindMainFormSubForms(list : TList<TForm>);
var
i : integer;
mainForm : TForm;
begin
mainForm := Application.MainForm;
for i := 0 to mainForm.ComponentCount - 1 do
begin
if mainForm.Components[i] is TForm then
list.Add(TForm(mainForm.Components[i]));
end;
end;