Přehled vlastnosti AutoSize

Vlastnost AutoSize umožňuje ovládacímu prvku změnit jeho velikost v případě potřeby k dosažení hodnoty určené vlastností PreferredSize . Chování nastavení velikosti pro konkrétní ovládací prvky upravíte nastavením AutoSizeMode vlastnosti.

Chování automatického nastavení

Vlastnost podporují AutoSize pouze některé ovládací prvky. Kromě toho některé ovládací prvky, které podporují AutoSize vlastnost, také podporují AutoSizeMode vlastnost.

Vlastnost AutoSize vytváří poněkud odlišné chování v závislosti na konkrétním typu ovládacího prvku a hodnotě AutoSizeMode vlastnosti, pokud vlastnost existuje. Následující tabulka popisuje chování, která jsou vždy pravdivá, a poskytuje stručný popis každého z nich:

Vždy pravdivé chování Popis
Automatická velikost je funkce za běhu. To znamená, že se nikdy nezvětší nebo zmenší ovládací prvek a pak nebude mít žádný další vliv.
Pokud ovládací prvek změní velikost, hodnota jeho Location vlastnosti vždy zůstane konstantní. Když obsah ovládacího prvku způsobí, že se zvětšuje, ovládací prvek se rozroste směrem doprava a dolů. Ovládací prvky se nezvětšují vlevo.
A Dock vlastnosti jsou dodrženy, pokud AutoSize je trueAnchor . Hodnota vlastnosti ovládacího prvku Location je upravena na správnou hodnotu.

Poznámka: Ovládací Label prvek je výjimkou tohoto pravidla. Když nastavíte hodnotu ukotvit Label vlastnosti ovládacího prvku AutoSize na true, Label ovládací prvek nebude roztažen.
Vlastnosti a MinimumSize vlastnosti ovládacího prvku MaximumSize jsou vždy dodrženy bez ohledu na hodnotu jeho AutoSize vlastnosti. Vlastnosti MaximumSize a vlastnosti nejsou touto vlastností ovlivněnyAutoSize.MinimumSize
Ve výchozím nastavení není nastavená minimální velikost. To znamená, že pokud je ovládací prvek nastaven tak, aby se zmenšil AutoSize a nemá žádný obsah, hodnota jeho Size vlastnosti je 0,0. V tomto případě se ovládací prvek zmenší na bod a nebude snadno viditelný.
Pokud ovládací prvek neimplementuje metodu GetPreferredSize , GetPreferredSize vrátí metoda poslední hodnotu přiřazenou Size vlastnosti. To znamená, že nastavení AutoSize nebude true mít žádný vliv.
Ovládací prvek v TableLayoutPanel buňce se vždy zmenší tak, aby se vešel do buňky, dokud nedosáhnete MinimumSize . Tato velikost se vynucuje jako maximální velikost. To není případ, kdy je buňka součástí AutoSize řádku nebo sloupce.

AutoSizeMode – vlastnost

Vlastnost AutoSizeMode poskytuje jemněji odstupňovanou kontrolu nad výchozím AutoSize chováním. Vlastnost AutoSizeMode určuje, jak se ovládací prvek velikostí jeho obsahu. Obsah může být například text Button ovládacího prvku nebo podřízených ovládacích prvků kontejneru.

Následující tabulka uvádí AutoSizeMode nastavení a popis chování jednotlivých nastavení.

Nastavení AutoSizeMode Chování
GrowAndShrink Ovládací prvek se zvětší nebo zmenší tak, aby zahrnoval jeho obsah.

Hodnoty MinimumSize a MaximumSize hodnoty jsou dodrženy, ale aktuální hodnota Size vlastnosti je ignorována.

Toto chování je stejné jako u ovládacích prvků s AutoSize vlastností a bez AutoSizeMode vlastnosti.
GrowOnly Ovládací prvek roste tak, jak je potřeba, aby zahrnoval jeho obsah, ale nezmenší menší než hodnota určená jeho Size vlastností.

Toto je výchozí hodnota pro AutoSizeMode.

Ovládací prvky, které podporují vlastnost AutoSize

Následující tabulka obsahuje seznam ovládacích prvků, které podporují vlastnosti AutoSize a AutoSizeMode vlastnosti.

Podpora automatického nastavení Typ ovládacího prvku
- AutoSize podporovaná vlastnost.
- Žádná AutoSizeMode nemovitost.
CheckBox

DomainUpDown

Label

LinkLabel

MaskedTextBox (TextBox základ)

NumericUpDown

RadioButton

TextBox

TrackBar
- AutoSize podporovaná vlastnost.
- AutoSizeMode podporovaná vlastnost.
Button

CheckedListBox

FlowLayoutPanel

Form

GroupBox

Panel

TableLayoutPanel
- Žádná AutoSize nemovitost. CheckedListBox

ComboBox

DataGridView

DateTimePicker

ListBox

ListView

MaskedTextBox

MonthCalendar

ProgressBar

PropertyGrid

RichTextBox

SplitContainer

TabControl

TabPage

TreeView

WebBrowser

ScrollBar

Automatické nastavení v návrhovém prostředí

Následující tabulka popisuje chování nastavení velikosti ovládacího prvku v době návrhu na základě hodnoty jeho AutoSize a AutoSizeMode vlastností.

SelectionRules Přepište vlastnost, aby bylo možné určit, zda je daný ovládací prvek ve stavu umožňujícím změnu velikosti uživatele. V následující tabulce "nemůže" pouze "Moveablecan" znamená "can" a MoveableAllSizeable .

Nastavení automatického nastavení Gesto změny velikosti návrhu
- AutoSize = true
- Žádná AutoSizeMode nemovitost.
Uživatel nemůže změnit velikost ovládacího prvku v době návrhu, s výjimkou následujících ovládacích prvků:

- TextBox
- MaskedTextBox
- RichTextBox
- TrackBar
- AutoSize = true
- AutoSizeMode = GrowAndShrink
Uživatel nemůže změnit velikost ovládacího prvku v době návrhu.
- AutoSize = true
- AutoSizeMode = GrowOnly
Uživatel může změnit velikost ovládacího prvku v době návrhu. Size Při nastavení vlastnosti může uživatel zvětšit pouze velikost ovládacího prvku.
- AutoSize = falsenebo AutoSize vlastnost je skrytá. Uživatel může změnit velikost ovládacího prvku v době návrhu.

Poznámka:

Aby se maximalizovala produktivita, návrhář model Windows Forms v sadě Visual Studio stínuje AutoSize vlastnost třídyForm. V době návrhu se formulář chová, jako by AutoSize vlastnost je nastavena false, bez ohledu na jeho skutečné nastavení. Za běhu není provedeno žádné zvláštní ubytování a AutoSize vlastnost se použije podle nastavení vlastnosti.

Viz také