C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


■103772 / )  Re[2]: MDI子フォームの最大化時のウインドウキャプション
□投稿者/ まりもん (6回)-(2025/07/11(Fri) 17:27:11)
No103770 (魔界の仮面弁士 さん) に返信
>>最大化した子フォームのウインドウキャプションをMdiClientの領域のみに表示することは可能なのでしょうか?
> MDI であることに拘りが無いのなら、Left パネルの隣に
>  Dock = Fill
>  BackColor = AppWorkspace
>  BorderStyle = Fixed3D
> なパネルを置いて、それを元の MdiClient 代わりにするのはどうでしょうか。

ご返答ありがとうございます。

提示いただいたサンプルを試してみたのですが、子フォームをMDIの領域の外に出るように移動したところ
Panel2にはスクロールバーが表示されません。

Panel2のAutoScrollプロパティをTrueにしてもスクロールバーが表示されませんでしたが子フォームが複数あり
子フォームのZオーダーを変更するとスクロールバーが表示されました。
またスクロールバーが表示された状態で子フォームを最小化した後元に戻したときなどにフォームを動かせなくなったり
など挙動がおかしい時がありました。

上記のことからこの方法を使用するときは子フォームが外に出ないよう移動制限をかけて使用したいと思います。

現在は通常のMDIとして子フォームが最大化された時に子フォーム側で
最大化解除&ボーダーなし&クライアント領域のサイズにサイズ変更&キャプションを自前で描画
といった処理を行うようにするといったことも考えています。
こちらの場合は子フォームに配置するコントロールをどうするかといったことを考えないといけないかと思いますが
返信 編集キー/


管理者用

- Child Tree -