• ベストアンサー

[VB2008]ウィザード形式のソフトを効率よく作りたい

ウィザード形式のソフトを作っています。 ウィザードといえば「次へ」をクリックすると 部品配置がごっそり変わりますが フォームデザイナで効率よく(というより見やすく)作るにはどうすればいいでしょうか? 一つのフォームに全画面の部品をごっちゃに配置するしかないでしょうか? ご回答お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • atse
  • ベストアンサー率83% (36/43)
回答No.1

1例です。 1画面の表示領域を仮に200px*200pxとして、 全部で5画面あるとするならば、 デザイナでフォームの横幅を1000px以上にし、 親のコンテナとして panel をフォームと同幅で1つ配置します。 そしたら、その親コンテナの中に ■■■■■ (■=1画面分) と、1画面の表示領域である200px以上の間隔(※1)で、 各1画面用の部品を均等配置します。 (配置の仕方は縦でも田の字でもわかりやすければ何でもOKです) あとは、起動時にプログラム側でフォームサイズを200*200にし、 「次へ」をクリックした際は、親コンテナのLocationを ※1の間隔分動かすだけで画面の切替ができます。 各部品も画面ごとにpanel等でグループ化しておくことを念頭に入れると、 最初の親コンテナ内への均等配置も容易に行え、 デザイナ上で画面ごとの枠ができて見やすくなり、 また、画面ごとのVisibleやEnabledの設定が簡単になります。

yue_1995
質問者

お礼

そんな方法があるんですか 参考になりました! おかげでソフトの制作効率があがりました! ありがとうございました!

その他の回答 (1)

回答No.2

私の場合はTabControlを使ってます。1画面につきタブ1枚。 実行時は、TabControl自体は非表示にして、表示する画面に対応したタブの中身をまとめて可視化したコンテナの中に移動する手法です。 見た目的にフォームがコントロールであふれかえらなくなるので。

関連するQ&A

専門家に質問してみよう