Vue d'ensemble de la propriété AutoSize
La propriété AutoSize permet à un contrôle de modifier sa taille, si nécessaire, pour atteindre la valeur spécifiée par la propriété PreferredSize. Vous ajustez le comportement de dimensionnement de contrôles spécifiques en définissant la propriété AutoSizeMode.
Comportement de redimensionnement automatique
Seuls certains contrôles prennent en charge la propriété AutoSize. De plus, quelques contrôles qui prennent en charge la propriété AutoSize prennent en charge également la propriété AutoSizeMode.
La propriété AutoSize produit un comportement quelque peu différent, selon le type de contrôle spécifique et la valeur de la propriété AutoSizeMode, si la propriété existe. Le tableau suivant décrit les comportements qui sont toujours vrais et fournit une brève description de chacun :
Comportement toujours vrai |
Description |
---|---|
Le dimensionnement automatique est une fonctionnalité runtime. |
Cela signifie qu'il n'augmente jamais ou réduit la taille d'un contrôle, puis n'a aucun plus effet supplémentaire. |
Si un contrôle change de taille, la valeur de sa propriété Location reste toujours constante. |
Lorsque le contenu d'un contrôle fait augmenter la taille de celui-ci, le contrôle se développe vers la droite et le bas. Les contrôles ne se développent pas à gauche. |
Les propriétés Dock et Anchor sont honorées lorsque AutoSize a la valeur true. |
La valeur de la propriété Location du contrôle s'ajuste à la valeur correcte. Remarque Le contrôle Label est l'exception à cette règle. Lorsque vous attribuez à la propriété AutoSize d'un contrôle ancré Label la valeur true, le contrôle Label ne s'étire pas. |
Les propriétés MaximumSize et MinimumSize d'un contrôle sont toujours honorées, indépendamment de la valeur de sa propriété AutoSize. |
Les propriétés MaximumSize et MinimumSize ne sont pas affectées par la propriété AutoSize. |
Il n'y a pas de taille minimale définie par défaut. |
Cela signifie que si un contrôle est configuré pour être réduit sous AutoSize et ne possède pas de contenu, la valeur de sa propriété Size est 0,0. Dans ce cas, votre contrôle sera réduit jusqu'à un certain point et ne sera pas aisément visible. |
Si un contrôle n'implémente pas la méthode GetPreferredSize, la méthode GetPreferredSize retourne la dernière valeur assignée à la propriété Size. |
Cela signifie que le fait d'attribuer à AutoSize la valeur true n'aura aucun effet. |
Un contrôle dans une cellule TableLayoutPanel réduit toujours sa taille pour tenir dans la cellule jusqu'à ce que sa MinimumSize soit atteinte. |
Cette taille est appliquée comme taille maximale. Ce n'est pas le cas lorsque la cellule fait partie d'une ligne ou d'une colonne AutoSize. |
Propriété AutoSizeMode
La propriété AutoSizeMode permet un contrôle plus fin du comportement AutoSize par défaut. La propriété AutoSizeMode spécifie comment un contrôle se dimensionne lui-même par rapport à son contenu. Par exemple, le contenu pourrait être le texte pour un contrôle Button ou les contrôles enfants pour un conteneur.
Le tableau suivant affiche les paramètres AutoSizeMode et une description du comportement que chaque paramètre est fournie.
Paramètre AutoSizeMode |
Comportement |
---|---|
GrowAndShrink |
Le contrôle augmente ou réduit sa taille pour englober son contenu. Les valeurs MinimumSize et MaximumSize sont honorées, mais la valeur actuelle de la propriété Size est ignorée. C'est le même comportement que les contrôles avec la propriété AutoSize et sans propriété AutoSizeMode. |
GrowOnly |
Le contrôle augmente sa taille autant que nécessaire de façon à englober son contenu, mais ne la diminue pas à une valeur inférieure à celle spécifiée par sa propriété Size. C'est la valeur par défaut pour 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 AutoSize et AutoSizeMode.
Prise en charge de AutoSize |
Type de contrôle |
---|---|
|
MaskedTextBox (TextBox base) |
|
|
|
Redimensionnement automatiquement dans l'environnement de design
Le tableau suivant décrit le comportement de dimensionnement d'un contrôle au moment du design, selon la valeur de ses propriétés AutoSize et AutoSizeMode.
Substituez la propriété SelectionRules 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, « peut » signifie AllSizeable et Moveable.
Paramètres AutoSize |
Opération de dimensionnement au moment du design |
---|---|
|
L'utilisateur ne peut pas redimensionner le contrôle au moment du design, à l'exception des contrôles suivants : |
|
L'utilisateur ne peut pas redimensionner le contrôle au moment du design. |
L'utilisateur peut redimensionner le contrôle au moment du design. Lorsque la propriété Size est définie, l'utilisateur peut uniquement augmenter la taille du contrôle. |
|
L'utilisateur peut redimensionner le contrôle au moment du design. |
Notes
Pour maximaliser la productivité, le Concepteur Windows Forms masque la propriété AutoSize pour la classe Form. Au moment du design, le formulaire se comporte comme si la propriété AutoSize a la valeur false, indépendamment de son paramètre réel. Au moment de l'exécution, aucun aménagement spécial n'est effectué, et la propriété AutoSize est appliquée comme spécifié par le paramètre de propriété.