Sdílet prostřednictvím


Přehled vlastnosti AutoSize

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

Chování automatického nastavení (AutoSize)

Vlastnost AutoSize podporují pouze některé ovládací prvky. Kromě toho některé ovládací prvky, které podporují AutoSize vlastnost, podporují také 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ě vlastnosti AutoSizeMode, 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é přizpůsobení velikosti je funkce, která se provádí za běhu programu. 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 vlastnost 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.
Vlastnosti Dock a Anchor jsou respektovány, pokud je AutoSizetrue. Hodnota vlastnosti Location ovládacího prvku je upravena na správnou hodnotu.

Poznámka Ovládací prvek Label je výjimkou tohoto pravidla. Když nastavíte hodnotu vlastnosti AutoSize ukotveného ovládacího prvku Label na true, ovládací prvek Label se neroztáhne.
Vlastnosti MaximumSize a MinimumSize ovládacího prvku jsou vždy dodrženy bez ohledu na hodnotu jeho vlastnosti AutoSize. Vlastnosti MaximumSize a MinimumSize nejsou ovlivněny vlastností AutoSize.
Ve výchozím nastavení není nastavená minimální velikost. To znamená, že pokud je ovládací prvek nastaven tak, aby se zmenšil pod AutoSize a nemá žádný obsah, hodnota jeho Size vlastnost je 0,0. V tomto případě se ovládací prvek zmenší na bod a nebude snadno viditelný.
Pokud ovládací prvek neimplementuje GetPreferredSize metodu, vrátí metoda GetPreferredSize poslední hodnotu přiřazenou Size vlastnost. To znamená, že nastavení AutoSize na true nebude mít žádný vliv.
Ovládací prvek v buňce TableLayoutPanel se vždy zmenšuje, aby se vešel do buňky, až nakonec dosáhne 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 chováním AutoSize. Vlastnost AutoSizeMode určuje, jak se ovládací prvek přizpůsobuje velikosti svého obsahu. Obsah může být například text pro ovládací prvek Button nebo podřízené ovládací prvky kontejneru.

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

Nastavení AutoSizeMode Chování
Růst a Zmenšit Ovládací prvek se zvětší nebo zmenší tak, aby zahrnoval jeho obsah.

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

Toto chování je stejné jako u ovládacích prvků s vlastností AutoSize a bez vlastnosti AutoSizeMode.
GrowOnly Ovládací prvek roste tolik, kolik je nutné k zahrnutí jeho obsahu, ale nezmenší se na menší hodnotu než hodnota určená jeho vlastností Size.

Toto je výchozí hodnota pro AutoSizeMode.

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

Následující tabulka uvádí ovládací prvky, které podporují AutoSize a AutoSizeMode vlastnosti.

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

DomainUpDown

Label

LinkLabel

MaskedTextBox (TextBox základ)

NumericUpDown

RadioButton

TextBox

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

CheckedListBox

FlowLayoutPanel

Form

GroupBox

Panel

TableLayoutPanel
- Žádná AutoSize vlastnost. CheckedListBox

ComboBox

DataGridView

DateTimePicker

ListBox

ListView

MaskedTextBox

MonthCalendar

ProgressBar

PropertyGrid

RichTextBox

SplitContainer

TabControl

TabPage

TreeView

WebBrowser

ScrollBar

Automatická velikost 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í.

Přepište vlastnost SelectionRules a určete, zda je daný ovládací prvek nastavitelný uživatelem. V následující tabulce "nemůže" znamená pouze Moveable, "může" znamená AllSizeable a Moveable.

Nastavení automatické velikosti Gesto změny velikosti během návrhu
- AutoSize = true
- Vlastnost AutoSizeMode chybí.
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. Pokud je nastavena vlastnost Size, uživatel může zvětšit pouze velikost ovládacího prvku.
- AutoSize = falsenebo vlastnost AutoSize je skrytá. Uživatel může změnit velikost ovládacího prvku v době návrhu.

Poznámka

Pro zvýšení produktivity ve Visual Studiu návrhář Windows Forms stínuje vlastnost AutoSize pro třídu Form. V době návrhu se formulář chová, jako by vlastnost AutoSize byla nastavena na false, bez ohledu na skutečné nastavení. Za běhu není provedeno žádné zvláštní přizpůsobení a vlastnost AutoSize se použije podle nastavení této vlastnosti.

Viz také