0

GroupBoxC#/.NET 4.0/WinForms で、2 つ (またはそれ以上)の要素を重ねて配置するユーザー コントロールを作成しようとしています。

また、これらの要素の高さをすべて同じにしたいと思いGroupBoxます。さらに、ユーザーがアプリケーション ウィンドウの高さを変更したときに、すべてが問題なく機能する必要があります (これは難しい部分のようです)。これまでのところ、これを実現するプロパティの組み合わせを見つけることができなかったAnchorので、カスタムのサイズ変更ハンドラーを作成することが唯一の選択肢になると考え始めていますが、そのような (私の目には) 汚い解決策を掘り下げる前に、私の説明に合ったユーザー コントロールを作成する簡単な方法があるかどうか疑問に思っていましたか?

これが私が達成したいことの図ですGroupBox。上に がTopありLeft Anchor、下に がありTop、アプリケーションウィンドウのサイズがわずかに変更された場合に何が起こるか(両方の GroupBox が均等に共有するのではなく、下のウィンドウがすべての余分なスペースを取ります)、最終的に、前の例のプロパティを使用し、upper に a を追加するとどうなるかを次に示します。BottomLeftBottom AnchorGroupBox

前もって感謝します!

4

2 に答える 2

2

コードを SizeChanged イベント ハンドラーに追加して、レイアウト要素が適切に表示されるようにすることは、まったく汚い解決策ではありません。これは、すべての WinFroms UI 開発者がいつか行う必要があることです。

解決策は簡単です。サイズ変更モデルと周囲の他の UI コントロールに従ってアンカーを設定し、コントロールの Height プロパティを取得して 2 で割り、余白を考慮して図を削除し、結果の図をに割り当てます。各 GroupBox の高さプロパティ。

于 2013-04-11T21:22:59.570 に答える