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é true d’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 = false AutoSize 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 false
sur , 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
.NET Desktop feedback