ウィザード形式のアプリをC#で作るには

 どうしたらいいのでしょうか.はじめはMVCみたいに,コントローラを用意して,そこでフォームの生成と破棄を制御すればいいと思っていたのですが,フォームをApplication.Run()で起動させ,ユーザがなんらかの処理を行った後コントローラに戻ったときに,フォーム内の値を取得する,もしくは戻り値を取得する,ってことができませんよね?
 こういうときってC#だとどうやってやるものなんでしょうか? そもそもMVCにするのがおかしいのかなあ.