Vue d'ensemble de la propriété AutoSize

La AutoSize propriété permet à un contrôle de modifier sa taille, le cas échéant, d’atteindre la valeur spécifiée par la PreferredSize propriété. Vous ajustez le comportement de dimensionnement pour des contrôles spécifiques en définissant la AutoSizeMode propriété.

Comportement de mise à l’échelle automatique

Seuls certains contrôles prennent en charge la AutoSize propriété. En outre, certains contrôles qui prennent en charge la AutoSize propriété prennent également en charge la AutoSizeMode propriété.

La AutoSize propriété produit un comportement quelque peu différent, selon le type de contrôle spécifique et la valeur de la AutoSizeMode propriété, si la propriété existe. Le tableau suivant décrit les comportements qui sont toujours vrais et fournit une brève description de chacun d’eux :

Comportement toujours vrai Description
Le dimensionnement automatique est une fonctionnalité d’exécution. Cela signifie qu’il ne augmente jamais ou réduit un contrôle, puis n’a aucun effet supplémentaire.
Si un contrôle change de taille, la valeur de sa Location propriété reste toujours constante. Quand le contenu d’un contrôle augmente, le contrôle augmente vers la droite et vers le bas. Les contrôles ne se développent pas à gauche.
Les Dock propriétés et Anchor les propriétés sont respectées lorsque AutoSize c’est true. La valeur de la propriété du Location contrôle est ajustée à la valeur correcte.

Notez que le Label contrôle est l’exception à cette règle. Lorsque vous définissez la valeur de la propriété trued’un AutoSize contrôle ancré Label sur , le Label contrôle ne s’étend pas.
Les propriétés et MinimumSize les propriétés d’un MaximumSize contrôle sont toujours respectées, quelle que soit la valeur de sa AutoSize propriété. Les MaximumSize propriétés et MinimumSize les propriétés ne sont pas affectées par la AutoSize propriété.
Il n’existe aucune taille minimale définie par défaut. Cela signifie que si un contrôle est défini sur réduire sous AutoSize et qu’il n’a pas de contenu, la valeur de sa Size propriété est de 0,0. Dans ce cas, votre contrôle se réduit à un point et ne sera pas facilement visible.
Si un contrôle n’implémente pas la GetPreferredSize méthode, la GetPreferredSize méthode retourne la dernière valeur affectée à la Size propriété. Cela signifie que le paramètre AutoSize à ne true pas avoir d’effet.
Un contrôle dans une TableLayoutPanel cellule se réduit toujours pour s’adapter à la cellule jusqu’à ce qu’elle MinimumSize soit atteinte. Cette taille est appliquée en tant que taille maximale. Ce n’est pas le cas lorsque la cellule fait partie d’une ligne ou d’une AutoSize colonne.

AutoSizeMode, propriété

La AutoSizeMode propriété fournit un contrôle plus précis sur le comportement par défaut AutoSize . La AutoSizeMode propriété spécifie la taille d’un contrôle à son contenu. Le contenu, par exemple, peut être le texte d’un Button contrôle ou des contrôles enfants d’un conteneur.

Le tableau suivant présente les AutoSizeMode paramètres et une description du comportement que chaque paramètre génère.

Paramètre AutoSizeMode Comportement
GrowAndShrink Le contrôle augmente ou se réduit pour englober son contenu.

Les MinimumSize valeurs et MaximumSize les valeurs sont respectées, mais la valeur actuelle de la Size propriété est ignorée.

Il s’agit du même comportement que les contrôles avec la AutoSize propriété et aucune AutoSizeMode propriété.
GrowOnly Le contrôle augmente autant que nécessaire pour englober son contenu, mais il ne réduit pas la valeur spécifiée par sa Size propriété.

Il s'agit de la valeur par défaut de l'objet AutoSizeMode.

Contrôles qui prennent en charge la propriété AutoSize

Le tableau suivant répertorie les contrôles qui prennent en charge les propriétés et AutoSizeMode les AutoSize propriétés.

Prise en charge de la mise à l’échelle automatique Type de contrôle
- AutoSize propriété prise en charge.
- Aucune AutoSizeMode propriété.
CheckBox

DomainUpDown

Label

LinkLabel

MaskedTextBox (TextBox base)

NumericUpDown

RadioButton

TextBox

TrackBar
- AutoSize propriété prise en charge.
- AutoSizeMode propriété prise en charge.
Button

CheckedListBox

FlowLayoutPanel

Form

GroupBox

Panel

TableLayoutPanel
- Aucune AutoSize propriété. CheckedListBox

ComboBox

DataGridView

DateTimePicker

ListBox

ListView

MaskedTextBox

MonthCalendar

ProgressBar

PropertyGrid

RichTextBox

SplitContainer

TabControl

TabPage

TreeView

WebBrowser

ScrollBar

AutoSize dans l’environnement de conception

Le tableau suivant décrit le comportement de dimensionnement d’un contrôle au moment du design, en fonction de la valeur de ses propriétés et AutoSizeMode de ses AutoSize propriétés.

Remplacez la SelectionRules propriété pour déterminer si un contrôle donné est dans un état redimensionnable par l’utilisateur. Dans le tableau suivant, « ne peut pas » signifie Moveable uniquement , « can » signifie AllSizeable et Moveable.

Paramètres de mise à l’échelle automatique Mouvement de dimensionnement au moment du design
- AutoSize = true
- Aucune AutoSizeMode propriété.
L’utilisateur ne peut pas redimensionner le contrôle au moment du design, à l’exception des contrôles suivants :

- TextBox
- MaskedTextBox
- RichTextBox
- TrackBar
- AutoSize = true
- AutoSizeMode = GrowAndShrink
L’utilisateur ne peut pas redimensionner le contrôle au moment du design.
- AutoSize = true
- AutoSizeMode = GrowOnly
L’utilisateur peut redimensionner le contrôle au moment du design. Lorsque la Size propriété est définie, l’utilisateur ne peut augmenter que la taille du contrôle.
- AutoSize = falseAutoSize ou propriété est masquée. L’utilisateur peut redimensionner le contrôle au moment du design.

Remarque

Pour optimiser la productivité, le Concepteur Windows Forms dans Visual Studio masque la AutoSize propriété de la Form classe. Au moment du design, le formulaire se comporte comme si la AutoSize propriété est définie falsesur , quel que soit son paramètre réel. Au moment de l’exécution, aucun logement spécial n’est effectué et la AutoSize propriété est appliquée comme spécifié par le paramètre de propriété.

Voir aussi