開発言語: VB.net
開発環境: VisualStudio2005
.NET FrameWork: 2.0
現在、VB.netにてクライアント/サーバ形式のシステムの構築を行っているのですがメニュー画面の構築でお客様から以下の要望があがりました。
1. 画面左側にツリービューのメニューを表示し、右側に実画面を配置する。
2. ツリービューのメニューをクリックすると該当機能が起動すること(機能の切り替えがツリービューから行えること)。
3. メインのウインドウとしては1枚で行うこと。
WEBでのフレームを切った画面構成やVisualStudioの[ツール]-[オプション]画面のような構成をイメージされているようです。
クライアント/サーバシステムではご要望の形式は難しいとは思うのですが実現できるかどうかの評価を行っています。
現在、自分が考えている構想は以下の通りです。
・MDIフォームを使用する
・MDI親フォーム左側にツリービューコントロールを配置する。
・ツリービューから機能をクリックされた場合、子フォームとして表示する。
実際にテストしてみたのですが、ツリービューコントロールを配置し、クリックによって子フォームを開くところまでは成功しました。
しかし、表示したフォームがツリビューコントロールの下にもぐってしまいます。表示位置の指定もできましたが最大化されると同じことが
発生すると思います。こういう場合は親フォームにメニューバーを使用するしか手はないのでしょうか?
個人的には非常に複雑になるので要望の取り下げ依頼も必要かなと思っているのですがクライアント/サーバ形式でこういう機能を実現された方いらっしゃいましたらお教えください。
まったく別の方法で実現された方の意見等もお聞かせいただけるとありがたいです。
以上、宜しくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
書き忘れ …
TreeViewの下へ潜ってしまう現象は起きますが
MDIフォームの Location(0,0)が パネルの右上の隣側になります
子フォームをMDIフォームでWithEventsで宣言してやれば Moveイベントなども拾えるのでLocationの制限も可能かと思われます
子フォームの WindowStateを Mximizedで使用するといった手もあります
ご回答ありがとうございます。
こちらにまとめてお礼を記述させていただきます。
ご指摘のとおり、直接ツリービューコントロールを貼り付けていました。パネルをレフト側に配置しツリービューをFillで設定したところ希望通りの動作が行えました。ツリービューの下にもぐってしまう件はこれから検証させていただきます。
あとはフォームの切り替え時に前フォームを自動的に閉じる検証をとって可能であればお客様に提案したいと思います。
書き込みありがとうございました。
大変助かりました。
No.1
- 回答日時:
MDIコンテナのフォームのクライアントエリアに直接 TreeViewを配置していませんか?
そのようにデザインしてしまうと配置したコントロールの領域もMDIコンテナフォームはクライアント領域と認識します
クライアント領域から除外するにはコンテナを配置してその部分を除外するようにしましょう
具体的には パネルコンロトールなどを配置してこのDockプロパティを LEFTなどにします
その上(パネル)にTreeViewを Dock.Fillで配置しましょう
こうすれば パネルを配置した部分以外がMDIフォームのクライアント領域になるのでご希望の形に近くなると思います
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript [Java] Edgeでのアドレスバー非表示について 3 2022/04/20 17:51
- Access(アクセス) Accessで独自メニューバーまたはリボンを作成したい 1 2022/12/02 14:31
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- サーバー 別サーバに構築したApache+Tomcatの連携について 2 2023/03/06 23:23
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- gooブログ ブログの記事を書きだしのみに表示したい 1 2022/06/25 19:11
- JavaScript テーブルの中のセレクトボックスの値が0のとき、非表示にしたい 3 2022/05/29 10:13
- サーバー Webサイト構築フリーランスの案件受注について 1 2022/03/27 18:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームを表示中にシ...
-
Hideについて(.NET)
-
Form_Load と Form_Activate の...
-
エクセルVBAのフォームを最...
-
ユーザーフォーム上に現在日時...
-
【VBAユーザーフォームで閉じる...
-
ユーザーフォームのラベルに時...
-
MSGBOXのフォント大きさ変更
-
コントロールの存在確認
-
Microsoft Formsの「個人情報や...
-
VBAでユーザーフォームを再表示...
-
フォームのテキストボックスな...
-
ACCESSのフォーム、開くんです...
-
アクセス2013 フォームが...
-
エクセルのチェックボックスの...
-
ExcelVBAのユーザーフォームでe...
-
ユーザーフォームのテキストボ...
-
クリックイベントなのに、2回ク...
-
フォームのアクティブと非アク...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
クリックイベントなのに、2回ク...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームのテキストボ...
-
Microsoft Formsの「個人情報や...
-
ユーザーフォーム上に現在日時...
-
Form_Load と Form_Activate の...
-
モーダルフォームとモードレス...
-
Excelにて、ユーザーフォームで...
-
VBAでユーザーフォームを再表示...
-
【VBAユーザーフォームで閉じる...
-
MSGBOXのフォント大きさ変更
-
VBA(エクセル)のユーザー...
-
Hideについて(.NET)
-
エクセルVBAのフォームを最...
-
コントロールの存在確認
-
ACCESSのフォーム、開くんです...
-
'ユーザーフォーム右上隅の[×...
-
フォームウィンドウを最前面に...
-
ユーザーフォームのラベルに時...
おすすめ情報