Información general sobre la propiedad AutoSize
Actualización: noviembre 2007
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 estirará. |
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 se 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 |
---|---|
|
MaskedTextBox (TextBox base) |
|
|
|
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 |
---|---|
|
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. |