- - PR -
子フォームの表示位置
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-06-27 11:40
初めまして。
いつも参考にさせていただいております。 とても困っているので、質問させていただきます。 VS.NETでC#を使用しています。 親フォーム(Form1)にパネルを張り、ボタンを複数個配置しています。 各ボタン押下時にそれぞれ別の子フォーム(Form2〜)をWindowsフォームの追加で、 親フォームへ追加します。 (例):button1押下時Form2表示 private void button1_Click(object sender, System.EventArgs e) { Form2 form2 = new Form2(); form2.MdiParent = this; form2.Show(); } この時、親フォーム(Form1)のコントロールの下に子フォームが 隠れて表示されてしまう場合があります。 子フォームを親フォームへ複数表示させたいため、 参照元記事のように追加した子フォームを親フォームとすることなく、 親フォームのコントロールと重ならないように表示する方法はありますでしょうか?? 例えば、子フォームのlocationの設定方法ですとか、子フォームを親フォームに設けた パネルに表示させる方法ですとか、何かありますでしょうか? 解決方法をご存知の方がいらっしゃいましたら、 お教え願います。 よろしくお願いします。 | ||||||||
|
投稿日時: 2005-06-27 11:57
Activate してから、BringToFront(); _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-06-27 13:01
じゃんぬねっとさんありがとうございます。
BringToFront(); を使う事で常に親フォームのコントロールの前に 表示させる事ができました。 勉強になりました。 ただ操作上ではBringToFront();で解決したのですが、 見た目にやはりボタンと子フォームが重なってしまうので、試行錯誤の結果 親フォームにSplitterを配置し、そこへボタンを配置する事を試してみました。 使用方法が誤っているかもしれませんが、この方法で子フォームとボタンが 上下に重なる事がなくなり、子フォームを常にSplitterの右へ 追加していくことができました。 お教えいただき本当にありがとうございました。 また参考にさせていただきます。 | ||||||||
|
投稿日時: 2005-06-27 13:54
こんにちは、じゃんぬ です。
ちょっと勘違いしてたっぽいです。
これって、MDI 親フォーム Button コントロールがあるということでしたか。 MDI 親フォームはコンテナに徹するか、ToolBar などにしましょう。
もし親フォームを「サイド メニュー」のような扱いであれば、 小フォームにその役割を譲って、それらを Spliter で結んだ方が良いかもしれません。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2005-06-27 15:01
こんにちは、じゃんぬさん。
再度の書き込みありがとうございます。 説明が下手で申し訳ありません。 おしゃる通り、親フォームのボタンコントロールを「サイドメニュー」のように 実装したいのです。 ボタンコントロール専用の子フォームを作り、そこ(ボタン)から呼び出される 別の子フォームとSpliter で結ぶ方法も試してみたいと思います。 お教えいただきありがとうございました。 大変参考になります。 |
1