Not sure, if it's true for Lazarus, but in Delphi the control is not in the list if it's placed on the child container, like TPanel ot TTabSheet. So iterating through Components on the form will give you everything on the form, but Controls suit better if you are interested in a particular TabSheet which has no child containers.