- - PR -
ツリービューでのページ切り替え
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-06-17 22:02
初めまして、まかろにと申します。
C#はまだ初心者ですが、よろしくお願いします。 現在、フォームアプリケーションで開発を行っているのですが やろうとしていることは、それぞれ異なるコントロールを持った ページ( パネル? フォーム? )を数ページ、もしくは数10ページ用意し フォームの左側に配置されたツリービューで選択されたアイテムに対応したページを 切り替えて右側に表示するというものです。 _________ | | | | | | ← イメージとしてはこんな感じです。 | | | タブコントロールのタブ選択部分をツリー | | | の方で行うといったところでしょうか。 | | |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ そこで、このページをどのようにして作成し、配置すればいいか悩んでいます。 1つのファイル( ソース )が巨大になるのは避けたいので、できれば 1ページ1ファイルで作成しそのページへのコントロールの配置も それぞれ別ウインドウで行えればと思います。 良い案がございましたら、ご教示よろしくお願いします。 【開発環境】 Windows XP Visual Studio .NET2003 | ||||
|
投稿日時: 2005-06-17 22:04
自己レスですいません。
いざ送信してみると、中央のイメージ図がつぶれてました… 図は無視してやってください。 失礼しました。 | ||||
|
投稿日時: 2005-06-18 07:04
別の選択方法でやったことはありますが、あまりお勧めしません。すなおにTabコントロールを使うことを薦めます。
パネルを重ねておいて、それぞれで設計します。お勧めでないのは、パネルを重ねるので、この時点で配置しにくいということです。 TreeViewの選択イベントで、特定のパネルを表示、他を非表示にします。 _________________ | ||||
|
投稿日時: 2005-06-22 10:27
レスが遅くなり申し訳ありません。
ちょっと試してみたのですが メインフォームを Form1 とし、それとは別のフォームを用意し(Form2〜) ページ扱いするパネルをその別フォームに配置します。 そして、Form1 側で別フォームのパネルのインスタンスだけを引っ張ってきて パネルの Parent を無理矢理 Form1 に設定し表示すると パネルは Form1 にちゃんと張り付きます。 このやり方で複数のパネルを表示/非表示すれば、切り替わっているように 見えますし、別フォームなのでダイアログエディタでも普通に配置でき かつ1ファイルが巨大になることもありません。 と、一応見た目がうまくいってるように見えるのですが (コントロールのイベントもちゃんと捕まえれています) このやり方ってありなんでしょうか? 「いやいや、それはまずい」というような意見がございましたら 教えていただけませんでしょうか? よろしくお願いします。 | ||||
|
投稿日時: 2005-06-22 11:00
まかろにさん、こんにちは。
ユーザーコントロールにすれば良いような気がします。 | ||||
|
投稿日時: 2005-06-22 21:34
この辺から下?
_________________ | ||||
|
投稿日時: 2005-06-22 22:09
おっと…確かに同じような議題ですね。
私よりももっと高度な事をされてるようですが。 ユーザーコントロールはまだ使ったことがないのですが 各ユーザーコントロールに配置されてるコントロールのイベントコード等は 全てそれ(ユーザーコントロール)を貼り付けるフォームで記述することに なるのでしょうか? それとも、ユーザーコントロールごとに別ファイルみたいになるのでしょうか? Tab を使わなかった理由の一つに、メインフォームのコードが巨大になるのを 防ぎたいというのがありましたので… よろしくお願いします。 | ||||
|
投稿日時: 2005-06-23 06:10
_________________ |