Visão geral da propriedade AutoSize

O AutoSize permite a um controle alterar seu tamanho, se necessário, para atingir o valor especificado pela propriedade de PreferredSize propriedade. Você ajustar o comportamento de dimensionamento para controles específicos, definindo a AutoSizeMode propriedade.

Comportamento de AutoSize

Somente alguns controles suportam a AutoSize propriedade. Além disso, alguns controles que ofereçam suporte a AutoSize propriedade também oferecem suporte a AutoSizeMode propriedade.

O AutoSize propriedade produz um comportamento um pouco diferente, dependendo do tipo de controle específico e o valor da AutoSizeMode propriedade, se a propriedade existe. A tabela a seguir descreve os comportamentos que sempre são verdadeiras e fornece uma breve descrição de cada um:

Comportamento sempre true

Descrição

Dimensionamento automático é um recurso de tempo de execução.

Isso significa que ele nunca cresce ou reduz um controle e, em seguida, não tem mais efeito.

Se um controle altera o tamanho, o valor de suas Location propriedade sempre permanece constante.

Quando o conteúdo do controle causa a crescer, o controle cresce em direção à direita e para baixo. Controles não ficam à esquerda.

O Dock e Anchor propriedades são liquidados quando AutoSize é true.

O valor do controle Location propriedade é ajustada para o valor correto.

Notaa Label o controle é a exceção a essa regra. Quando você definir o valor de um ancorada Label do controle AutoSize propriedade para true, o Label controle será stretch.

Um controle MaximumSize e MinimumSize Propriedades serão sempre respeitadas, independentemente do valor de suas AutoSize propriedade.

O MaximumSize e MinimumSize Propriedades não são afetadas pela AutoSize propriedade.

Não há nenhum tamanho mínimo definido por padrão.

Isso significa que, se um controle estiver definido para reduzir em AutoSize e não tiver conteúdo, o valor de suas Size propriedade é 0,0. Nesse caso, o seu controle encolherá para um ponto e não ser visível imediatamente.

Se um controle não implementa o GetPreferredSize método, o GetPreferredSize método retorna o último valor atribuído para o Size propriedade.

Isso significa que a configuração AutoSize para true terá nenhum efeito.

Um controle em um TableLayoutPanel sempre da célula é reduzido para caber na célula até que seu MinimumSize for atingido.

Esse tamanho é aplicado como um tamanho máximo. Isso não é o caso, quando a célula é parte de um AutoSize linha ou coluna.

Propriedade AutoSizeMode

O AutoSizeMode propriedade fornece mais um controle refinado sobre o padrão AutoSize comportamento. O AutoSizeMode propriedade especifica como dimensiona um controle próprio conteúdo. O conteúdo, por exemplo, poderia ser um texto para um Button controle ou os controles filho de um recipiente.

A seguinte tabela mostra a AutoSizeMode configurações e uma descrição do comportamento de cada configuração elicits.

Configuração de AutoSizeMode

Comportamento

GrowAndShrink

O controle é ampliada ou reduzida para englobar o seu conteúdo.

O MinimumSize e MaximumSize valores são respeitadas, mas o valor atual da Size propriedade é ignorada.

Este é o mesmo comportamento de controles com o AutoSize propriedade e não AutoSizeMode propriedade.

GrowOnly

O controle cresce conforme o necessário para englobar o seu conteúdo, mas não irá reduzir menor que o valor especificado pelo seu Size propriedade.

Este é o valor padrão para AutoSizeMode.

Controles que suportam a propriedade AutoSize

A tabela a seguir lista os controles que suportam a AutoSize e AutoSizeMode Propriedades.

Suporte de AutoSize

Tipo de controle

  • AutoSizepropriedade suportada.

  • Não AutoSizeMode propriedade.

CheckBox

DomainUpDown

Label

LinkLabel

MaskedTextBox(TextBox base)

NumericUpDown

RadioButton

TextBox

TrackBar

  • AutoSizepropriedade suportada.

  • AutoSizeModepropriedade suportada.

Button

CheckedListBox

FlowLayoutPanel

Form

GroupBox

Panel

TableLayoutPanel

CheckedListBox

ComboBox

DataGridView

DateTimePicker

ListBox

ListView

MaskedTextBox

MonthCalendar

ProgressBar

PropertyGrid

RichTextBox

SplitContainer

TabControl

TabPage

TreeView

WebBrowser

ScrollBar

AutoSize no ambiente de Design

A tabela a seguir descreve o comportamento de dimensionamento de um controle em tempo de design com base no valor de suas AutoSize e AutoSizeMode Propriedades.

Substituir o SelectionRules a propriedade para determinar se um determinado controle está no estado redimensionável de usuário. Na tabela a seguir, "não" significa Moveable , "pode" means AllSizeable and Moveable.

Configurações de AutoSize

Gesto de dimensionamento de tempo de design

  • AutoSize = true

  • Não AutoSizeMode propriedade.

O usuário não é possível redimensionar o controle em tempo de design, exceto para os seguintes controles:

O usuário não é possível redimensionar o controle em tempo de design.

O usuário pode redimensionar o controle em tempo de design. Quando o Size for definida, o usuário só pode aumentar o tamanho do controle.

Usuário pode redimensionar o controle em tempo de design.

ObservaçãoObservação

Para maximizar a produtividade, as sombras de Windows Forms Designer do AutoSize propriedade para o Form classe. Em tempo de design, o formulário se comporta como se a AutoSize for definida como false, independentemente de sua configuração real. Em tempo de execução, especiais de acomodação é feita e o AutoSize propriedade é aplicada como especificado pela configuração da propriedade.

Consulte também

Referência

AutoSize

PreferredSize

GetPreferredSize