3

mdicontainer で、上部にメニュー ストリップがあるフォームがあります。MDI コンテナーに子フォームを追加し、子を最大化すると、メニューストリップ上で最大化されます。メニューストリップの下で最大化するように子を制限する方法を知りたいです。どんな助けでも大歓迎です。

4

3 に答える 3

0

私はこれが古い質問であることを知っていますが、私が取り組んでいる古いプロジェクトでこれに遭遇したので、これを見た人のための答えがあります. Dock を DockStyle.Fill に設定すると、必要な動作が得られます。

その DockStyle を使用しているときにウィンドウの位置を変更したり、サイズを変更したりすると、ウィンドウの動作や見た目がおかしくなることに注意してください。

これを実現するために、MDI クライアント ウィンドウのサイズ変更イベントをサブスクライブし、ウィンドウが最大化されたばかりの場合は、その DockStyle を Fill に設定し、FormBorderStlye を FixedDialog に設定して (サイズ変更を防ぐため)、ウィンドウの状態を通常に設定して、発生からの最大化。

この「最大化された状態」にあるときにユーザーがウィンドウを移動できないようにするために、WndProc メソッドをオーバーライドし、ウィンドウが移動されたときに処理 (SC_MOVE) し、アクションが有効にならないようにリターンを配置しました。

于 2015-07-16T16:04:14.133 に答える
0

コンテナー全体がいっぱいにならないように、MaximumSize プロパティを設定できます。

于 2009-10-21T22:32:34.623 に答える