I am not sure why you would want to allow a user of your web site or windows application to create a page or form. So I am going to speak in terms of a tool to help you build basic application framework tuned to a specific project need.

I have developed several tools in the past (Coldfusion mainly) to speed production of my web sites. What I would do is create a site manager with navigation. Then I would build a page-builder page. This would include navigation, header, footer, basic content like forms, and data connection and queries. Most of those items are pre-built and just included on the page as a template. The way I did this was the page-builder would write the code to a new web page (CFM in this case) with all the code logic written. Then I also had it write another page that was a structure or resource that could be re-read by the page-builder to re-write or change items on the custom page. Now I have done the same thing by storing information in a database about the content of the page. Either way it didnt matter how fast the information was retrieved or written (which was not noticeable at all) to me because it was a personal tool.