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 |
---|---|
|
MaskedTextBox(TextBox base) |
|
|
|
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 |
---|---|
|
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çã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. |