- PR -

ツリービューでのページ切り替え

投稿者投稿内容
まかろに
常連さん
会議室デビュー日: 2005/06/17
投稿数: 41
投稿日時: 2005-06-17 22:02
初めまして、まかろにと申します。
C#はまだ初心者ですが、よろしくお願いします。

現在、フォームアプリケーションで開発を行っているのですが
やろうとしていることは、それぞれ異なるコントロールを持った
ページ( パネル? フォーム? )を数ページ、もしくは数10ページ用意し
フォームの左側に配置されたツリービューで選択されたアイテムに対応したページを
切り替えて右側に表示するというものです。
_________
| | |
| | | ← イメージとしてはこんな感じです。
| | |    タブコントロールのタブ選択部分をツリー
| | |    の方で行うといったところでしょうか。
| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

そこで、このページをどのようにして作成し、配置すればいいか悩んでいます。
1つのファイル( ソース )が巨大になるのは避けたいので、できれば
1ページ1ファイルで作成しそのページへのコントロールの配置も
それぞれ別ウインドウで行えればと思います。

良い案がございましたら、ご教示よろしくお願いします。

【開発環境】
 Windows XP
Visual Studio .NET2003

まかろに
常連さん
会議室デビュー日: 2005/06/17
投稿数: 41
投稿日時: 2005-06-17 22:04
自己レスですいません。

いざ送信してみると、中央のイメージ図がつぶれてました…
図は無視してやってください。
失礼しました。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-06-18 07:04
 別の選択方法でやったことはありますが、あまりお勧めしません。すなおにTabコントロールを使うことを薦めます。

 パネルを重ねておいて、それぞれで設計します。お勧めでないのは、パネルを重ねるので、この時点で配置しにくいということです。
 TreeViewの選択イベントで、特定のパネルを表示、他を非表示にします。
_________________
まかろに
常連さん
会議室デビュー日: 2005/06/17
投稿数: 41
投稿日時: 2005-06-22 10:27
レスが遅くなり申し訳ありません。

ちょっと試してみたのですが
メインフォームを Form1 とし、それとは別のフォームを用意し(Form2〜)
ページ扱いするパネルをその別フォームに配置します。
そして、Form1 側で別フォームのパネルのインスタンスだけを引っ張ってきて
パネルの Parent を無理矢理 Form1 に設定し表示すると
パネルは Form1 にちゃんと張り付きます。
このやり方で複数のパネルを表示/非表示すれば、切り替わっているように
見えますし、別フォームなのでダイアログエディタでも普通に配置でき
かつ1ファイルが巨大になることもありません。

と、一応見た目がうまくいってるように見えるのですが
(コントロールのイベントもちゃんと捕まえれています)
このやり方ってありなんでしょうか?
「いやいや、それはまずい」というような意見がございましたら
教えていただけませんでしょうか?

よろしくお願いします。
 
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-06-22 11:00
まかろにさん、こんにちは。

ユーザーコントロールにすれば良いような気がします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-06-22 21:34
この辺から下?
_________________
まかろに
常連さん
会議室デビュー日: 2005/06/17
投稿数: 41
投稿日時: 2005-06-22 22:09
おっと…確かに同じような議題ですね。
私よりももっと高度な事をされてるようですが。

ユーザーコントロールはまだ使ったことがないのですが
各ユーザーコントロールに配置されてるコントロールのイベントコード等は
全てそれ(ユーザーコントロール)を貼り付けるフォームで記述することに
なるのでしょうか?
それとも、ユーザーコントロールごとに別ファイルみたいになるのでしょうか?
Tab を使わなかった理由の一つに、メインフォームのコードが巨大になるのを
防ぎたいというのがありましたので…

よろしくお願いします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-06-23 06:10
引用:

まかろにさんの書き込み (2005-06-22 22:09) より:

全てそれ(ユーザーコントロール)を貼り付けるフォームで記述することになる

こっち
_________________

スキルアップ/キャリアアップ(JOB@IT)