AutoSize プロパティの概要
AutoSize プロパティプロパティを使用することにより、必要に応じて PreferredSize プロパティで指定された値までコントロールのサイズを変更できます。 特定のコントロールのサイズ変更動作を調整するには、AutoSizeMode プロパティを設定します。
AutoSize 動作
AutoSize プロパティは、一部のコントロールだけがサポートします。 また、AutoSize プロパティをサポートするコントロールは、AutoSizeMode プロパティもサポートします。
AutoSize プロパティが生成する動作は、コントロールの種類と AutoSizeMode プロパティ (存在する場合) の値に応じて多少異なります。 このプロパティが生成する標準動作の一覧とその説明を次の表に示します。
標準動作 |
説明 |
---|---|
自動サイズ変更は実行時の機能です。 |
このプロパティがコントロールを拡大縮小せず、それ以上の効果が無いことを意味します。 |
コントロールのサイズを変更しても、Location プロパティの値は常に一定です。 |
コントロールのコンテンツによってコントロールが拡大する場合、コントロールは右下に向かって拡大します。 コントロールは左側に拡大しません。 |
コントロールの Location プロパティの値は、正確な値に調整されます。 メモ Label コントロールには、この規則が適用されません。 ドッキングされる Label コントロールの AutoSize プロパティに true を設定すると、Label コントロールは伸縮しません。 |
|
コントロールの MaximumSize プロパティと MinimumSize プロパティは、そのコントロールの AutoSize プロパティの値とは無関係に常に有効です。 |
MaximumSize プロパティと MinimumSize プロパティは、AutoSize プロパティの影響を受けません。 |
既定で設定される最小サイズはありません。 |
AutoSize に従ってコントロールが縮小するように設定され、コントロールにコンテンツが含まれていない場合、Size プロパティが 0,0 になることを意味します。 この場合、コントロールは 1 つの点に縮小し、簡単に識別できなくなります。 |
コントロールで GetPreferredSize メソッドを実装していない場合、GetPreferredSize メソッドは、Size プロパティに代入された最後の値を返します。 |
AutoSize に true を設定しても無効であることを意味します。 |
TableLayoutPanel セル内のコントロールは、その MinimumSize に達するまで、常にセルのサイズに合わせて縮小します。 |
このサイズは最大サイズとして適用されます。 セルが AutoSize 行または列の一部である場合、これは該当しません。 |
AutoSizeMode プロパティ
AutoSizeMode プロパティでは、既定の AutoSize 動作をより詳細に制御できます。 AutoSizeMode プロパティは、コントロールがそのサイズをコンテンツに合わせてどのように調整するかを指定します。 コンテンツは、たとえば Button コントロールの場合はテキスト、コンテナーの場合は子コントロールになります。
AutoSizeMode の設定と、各設定による動作の説明を次に示します。
AutoSizeMode の設定 |
動作 |
---|---|
GrowAndShrink |
コントロールは拡大または縮小して、コンテンツを包含します。 MinimumSize 値と MaximumSize 値は有効ですが、Size プロパティの現在値は無視されます。 これは、AutoSize プロパティを持ち、AutoSizeMode プロパティを持たないコントロールと同じ動作です。 |
GrowOnly |
コントロールは、コンテンツを包含するのに必要な大きさに拡大しますが、Size プロパティで指定された値より縮小しません。 これは、AutoSizeMode の既定値です。 |
AutoSize プロパティをサポートするコントロール
AutoSize プロパティと AutoSizeMode プロパティをサポートするコントロールを次の表に示します。
AutoSize のサポート |
コントロールの種類 |
---|---|
|
MaskedTextBox (TextBox ベース) |
|
|
|
デザイン環境における AutoSize
AutoSize プロパティと AutoSizeMode プロパティの値に基づく、デザイン時のコントロールのサイズ変更動作を次に示します。
特定のコントロールが、ユーザーによるサイズ変更が可能な状態にあるかどうかを確認するには、SelectionRules プロパティをオーバーライドします。 次の表で、"サイズを変更できません" は Moveable のみを意味し、"サイズを変更できます" は AllSizeable と Moveable を意味します。
AutoSize の設定 |
デザイン時のサイズ変更ジェスチャ |
---|---|
|
ユーザーは、デザイン時に次のコントロール以外のコントロールのサイズを変更できません。 |
|
ユーザーは、デザイン時にコントロールのサイズを変更できません。 |
ユーザーは、デザイン時にコントロールのサイズを変更できます。 Size プロパティが設定されている場合は、ユーザーはコントロールのサイズを拡大することのみ可能です。 |
|
ユーザーは、デザイン時にコントロールのサイズを変更できます。 |
注意
生産性を最大限に高めるために、Windows フォーム デザイナーは、Form クラスの AutoSize プロパティをシャドウイングします。 デザイン時のフォームは、実際の設定とは無関係に AutoSize プロパティが false に設定されているように動作します。 実行時には、特別な調整は行われず、プロパティ設定で指定されたとおりに AutoSize プロパティが適用されます。