Which version of VFP are you using? The reason I ask is that in earlier versions, if a form contained a page frame, all the controls on all the pages were instantiated as the form loads. With a large number of controls spread across multiple pages (as is the case here), there was a noticeable delay in loading the form.
The usual method of overcoming that was to programmatically add all the controls for each page when the page was first activated, via a call to AddObject in the Activate method. Doing that would make the loading of the form almost instantaneous, but introduce a much smaller delay when you first activate a given page.
However, I believe that in VFP 7.0 and later, that is no longer necessary. If I've got this right, VFP now delays the instantiation of the controls on the non-active pages until they are needed. (I have checked the Help, but can't find any documentation about this, so don't take my word for it.)
Similarly, in earlier versions, when you refreshed the form, all the controls on all the pages were refreshed, which again caused a delay. Now, only the controls on the active page are refreshed.
Regardless of the above, I would prefer to use a pageframe in the situation you describe. It easier than using multiple forms, both for the user and the developer. From a user interface point of view, the main problem is that ten or more tabs might look a bit crowded, and it might not be easy for all users to immediately find the tab they need. I often hide the built-in tabs (by setting the pageframe's Tabs property to .F.), and create a different control to let the user switch pages. A large graphical option group is usually a good choice for that.
So, on balance, I would say go with the pageframe. But that's very much a personal opinion.
Mike
__________________________________
Mike Lewis (Edinburgh, Scotland)
Visual FoxPro articles, tips and downloads