2

autosize が true に設定され、AutoSizeMode = GrowAndShrink の Windows フォームを作成しています。

単純なコントロールをフォームに貼り付けて、プログラムを実行しました。フォームのサイズが正しく変更され、1 つのコントロールのみが表示されます。

次に、フォームの下部にストリップを追加しました (DevExpress バーから始めましたが、ネイティブ コントロールのみを使用するために、そこに statusStrip を貼り付けました)。

今回アプリケーションを実行すると、自動サイズ調整されたフォームはステータス バーのないフォームとまったく同じサイズになり、追加したコントロールがステータス バーに重なっています (実際にはステータス バーがまだ存在していることがわかります)。

これはなぜですか?これは意図的なものですか?フォームの縮小は、フォームの下部にあるステータスバーを重ねてはならないという事実を尊重すると思います。

4

2 に答える 2

2

AutoSize は、コントロールがドッキングされている場合などにはうまく機能しません。StatusStrip の DockStyle をオフにして、自動サイズが機能することを確認します。

Jared Par のAutoSize と DockStyle.Fill を混在させないブログを参照してください。

AutoSize と DockStyle.Fill はうまく組み合わせられません。どちらのプロパティも、コントロールの残りの部分との相対的なサイズ関係を記述するために存在しますが、競合する方法で行います。

于 2012-08-29T19:28:00.870 に答える
2

statusStrip がドックに設定されていると仮定しています。そのため、コントロールはフォーム サイズに基づいてドッキングするだけであり、その逆ではありません。

于 2012-08-29T19:28:02.360 に答える