0

私のアプリケーション (Visual C# 2008 WinForms を使用しています) には、生成されたコントロールが多数含まれています。具体的には、ボタンのグリッド、ラベルの配列、リスト、見出しなど...すべてがコンテナにかなり収まるように設定されています。

ユーザーがメイン フォームのサイズを変更できるようにしたいのですが、そのためには、生成されたコンテンツを破棄して適切なサイズに再作成するか、すべてのコントロールにインデックスを付けて、それが名前と種類で何であるかを把握する必要があります。各アイテムを個別にサイズ変更します。フォームのサイズ変更中/後にこれを行う必要があります。

これを行うためのよりインテリジェントな方法はありますか?ディメンションの 100% を構成しないアイテム (ボタンのグリッドなど) を扱っているため、ここでは Dock と Anchor はまったく当てはまりません。

4

2 に答える 2

2

問題のレイアウトがどれほど複雑であるかを確認せずに、合理的な答えを出すことは困難です。

FlowLayoutPanelただし、原則として、またはのようなレイアウト コンテナーを使用してTableLayoutPanel、設計された目的を果たす必要があります。仕事をしない場合は、ネストしてください。

于 2012-07-27T12:54:39.027 に答える
0

ドッキング/固定がおそらくここでの答えです。グリッドを上/下/左/右に固定するか、ドッキングする必要があります (同じ効果ですが、グリッドは親コントロールを埋めます)。

これが正しく行われると、デザイナーですべてを作成したかのように、フォームの残りの部分に合わせてコントロールのサイズが変更されます。

私はこのようなものがうまくいくと信じています:

Control.Anchor = AnchorStyles.TopLeft | AnchorStyles.BottomRight;

于 2012-07-27T12:54:31.307 に答える