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
=
false nebo 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é
.NET Desktop feedback