> Ярким примером желаемого -- установщик любого приложения (Installation Wizard)
Ну, лично мне как-то не приходилось делать Wizard'ы, но скажу следующее:
1) Если интерфейс не совсем динамический, а все же шаблонный, то удобнее было бы заранее (в WYSIWYG) сделать много форм на каждый экран визарда и просто менять их.
Но конкретно менять формы (окна) это не очень хорошая идея, незаметно скрыть одно окно и показать другое - сложно (смотрится некрасиво), и еще есть нюансы, это уже особенности ОС.
Я бы посмотрел в сторону композитных контролов (они же юзерконтролы), каждый экран сделал бы отдельным юзерконтролом, и все их на одну форму (как Panelи). При этом редактировал бы их - через отдельные файлы, как если бы это были отдельные формы.
А какой показать, какой скрыть - это уже решать либо экранам, либо форме-контейнеру. Скорее - второе, каждый экран возвращал бы значение по принципу ShowDialog, возвращал форме, а она б уже решала.
2) В винде для визардов есть готовые средства - Property Sheets. Да, это WinAPI, Да, это тот еще гемор. Но все же я бы обязательно изучил их. Может стоит написать для них удобную обертку под .NET. Или хотя бы перенять какие-то интересные решения из них - и воплотить в своих визардах, которые тогда реально станут самыми визардатыми визардами в мире.