Compartir a través de


Información general sobre la propiedad AutoSize

La propiedad AutoSize permite a un control cambiar su tamaño, si es necesario, para obtener el valor especificado por la propiedad PreferredSize. Para ajustar el comportamiento de tamaño de controles específicos, establezca la propiedad AutoSizeMode.

Comportamiento de la propiedad AutoSize

Sólo algunos controles admiten la propiedad AutoSize. Además, algunos controles que admiten la propiedad AutoSize también admiten la propiedad AutoSizeMode.

La propiedad AutoSize tiene un comportamiento algo diferente, dependiendo del tipo de control y del valor de la propiedad AutoSizeMode, si existe. En la tabla siguiente se describen los comportamientos cuya condición es verdadera y se proporciona un breve descripción de cada uno:

Comportamiento siempre verdadero

Descripción

El cambio automático es una característica en tiempo de ejecución.

Esto significa que nunca aumenta o reduce un control y, por tanto, no tiene ningún efecto adicional.

Si un control cambia el tamaño, el valor de la propiedad Location siempre permanece constante.

Cuando es necesario que aumente debido al contenido de un control, el control se amplía hacia la derecha y hacia abajo. Los controles no se extienden a la izquierda.

Se admiten las propiedades Dock y Anchor cuando AutoSize es true.

El valor de la propiedad Location del control se ajusta al valor correcto.

Nota   El control Label es la excepción a esta regla. Si se establece el valor de una propiedad AutoSize de un control Label acoplado en true, el control Label no se ajustará.

Siempre se admiten las propiedades MaximumSize y MinimumSize del control, sin tener en cuenta el valor de la propiedad AutoSize.

La propiedad AutoSize no afecta a las propiedades MaximumSize y MinimumSize.

No hay ningún tamaño mínimo establecido de forma predeterminada.

Esto significa que si se establece un control para reducirse en AutoSize y no tiene contenido, el valor de su propiedad Size es 0,0. En este caso, el control reducirá a un punto, que no será visible.

Si un control no implementa el método GetPreferredSize, este método GetPreferredSize devuelve el último valor asignado a la propiedad Size.

Lo que significa que el establecimiento de la propiedad AutoSize en true no tendrá ningún efecto.

Siempre se reduce el control en una celda TableLayoutPanel para ajustarse en la celda hasta que se alcance la propiedad MinimumSize.

Este tamaño se exige como tamaño máximo. Éste no es el caso si la celda forma parte de una fila o columna de AutoSize.

Propiedad AutoSizeMode

La propiedad AutoSizeMode proporciona un control más detallado sobre el comportamiento predeterminado de AutoSize. La propiedad AutoSizeMode especifica cómo un control se ajusta a su contenido. Por ejemplo, el contenido podría ser el texto en un control Button o los controles secundarios en un contenedor.

En la tabla siguiente se muestra la configuración de AutoSizeMode y una descripción del comportamiento que provoca cada configuración.

Configuración de AutoSizeMode

Comportamiento

GrowAndShrink

El control aumenta o se reduce para ajustar su contenido.

Se admiten los valores de las propiedades MinimumSize y MaximumSize, pero se omite el valor actual de la propiedad Size.

Es el mismo comportamiento que los controles con la propiedad AutoSize y sin la propiedad AutoSizeMode.

GrowOnly

El control aumenta lo necesario para ajustar el contenido, pero no se reducirá más que el valor especificado por la propiedad Size.

Éste es el valor predeterminado de AutoSizeMode.

Controles que admiten la propiedad AutoSize

En la tabla siguiente se muestran los controles que admiten las propiedades AutoSize y AutoSizeMode.

Compatibilidad con AutoSize

Tipo de control

  • Se admite la propiedad AutoSize.

  • Ninguna propiedad AutoSizeMode.

CheckBox

DomainUpDown

Label

LinkLabel

MaskedTextBox (TextBox base)

NumericUpDown

RadioButton

TextBox

TrackBar

  • Se admite la propiedad AutoSize.

  • Se admite la propiedad AutoSizeMode.

Button

CheckedListBox

FlowLayoutPanel

Form

GroupBox

Panel

TableLayoutPanel

CheckedListBox

ComboBox

DataGridView

DateTimePicker

ListBox

ListView

MaskedTextBox

MonthCalendar

ProgressBar

PropertyGrid

RichTextBox

SplitContainer

TabControl

TabPage

TreeView

WebBrowser

ScrollBar

Propiedad AutoSize en el entorno de diseño

En la tabla siguiente se describe el comportamiento del tamaño de un control en tiempo de diseño, basado en el valor de las propiedades AutoSize y AutoSizeMode.

Reemplace la propiedad SelectionRules para determinar si un control determinado se encuentra en un estado cuyo tamaño pueda ser modificado por el usuario. En la tabla siguiente "no puede" significa únicamente Moveable, "puede" significa AllSizeable y Moveable.

Valores de configuración de AutoSize

Ajuste de tamaño en tiempo de diseño

  • AutoSize = true

  • Ninguna propiedad AutoSizeMode.

El usuario no puede cambiar el tamaño del control en tiempo de diseño, salvo en los controles siguientes:

El usuario no puede cambiar el tamaño del control en tiempo de diseño.

El usuario puede cambiar el tamaño del control en tiempo de diseño. Cuando se establece la propiedad Size, el usuario sólo puede aumentar el tamaño del control.

El usuario puede cambiar el tamaño del control en tiempo de diseño.

Nota

Para aumentar la productividad, el Diseñador de Windows Forms sombrea la propiedad AutoSize para la clase Form. En tiempo de diseño, el formulario se comporta como si la propiedad AutoSize se estableciera en false, sin tener en cuenta su configuración real. En el tiempo de ejecución, no se realiza ningún cambio especial y la propiedad AutoSize se aplica tal como se ha especificado en la configuración de las propiedades.

Vea también

Referencia

AutoSize

PreferredSize

GetPreferredSize