Freigeben über


Übersicht über die AutoSize-Eigenschaft

Mit der AutoSize-Eigenschaft lässt sich die Größe eines Steuerelements bei Bedarf ändern, sodass es der durch die PreferredSize-Eigenschaft angegebenen Größe entspricht. Das Verhalten bei der Größenanpassung können Sie durch Festlegen der AutoSizeMode-Eigenschaft für bestimmte Steuerelemente anpassen.

AutoSize-Verhalten

Die AutoSize-Eigenschaft wird nicht von allen Steuerelementen unterstützt. Darüber hinaus unterstützen einige Steuerelemente, die die AutoSize-Eigenschaft unterstützen, auch die AutoSizeMode-Eigenschaft.

Die AutoSize-Eigenschaft führt zu einem etwas anderen Verhalten, je nach dem spezifischen Typ des Steuerelements und dem Wert der AutoSizeMode-Eigenschaft, sofern vorhanden. Die folgende Tabelle beschreibt die Verhalten, die stets TRUE sind, und enthält eine kurze Beschreibung der einzelnen Verhalten:

Verhalten: immer TRUE BESCHREIBUNG
Bei der automatischen Größenanpassung handelt es sich um ein Laufzeitfeature. Das bedeutet, dass eine Größenänderung für ein Steuerelement immer weitere Auswirkungen hat.
Wenn sich die Größe eines Steuerelements ändert, bleibt der Wert der Location-Eigenschaft immer konstant. Wenn ein Steuerelement aufgrund des Inhalts größer wird, nimmt die Größe des Steuerelements nach rechts und nach unten zu. Nach links werden Steuerelemente nicht vergrößert.
Die Eigenschaften Dock und Anchor werden berücksichtigt, wenn AutoSizetrue ist. Der Wert der Location-Eigenschaft des Steuerelements wird an den entsprechenden Wert angepasst.

Hinweis Das Label-Steuerelement ist die Ausnahme von dieser Regel. Wenn Sie den Wert der AutoSize-Eigenschaft eines angedockten Label-Steuerelements auf true festlegen, wird das Label-Steuerelement nicht gestreckt.
Die Eigenschaften MaximumSize und MinimumSize eines Steuerelements werden immer berücksichtigt. Der Wert der AutoSize-Eigenschaft spielt dabei keine Rolle. Die Eigenschaften MaximumSize und MinimumSize werden durch die AutoSize-Eigenschaft nicht beeinflusst.
Standardmäßig ist keine Mindestgröße festgelegt. Das bedeutet, wenn ein Steuerelement auf eine Verkleinerung unter AutoSize festgelegt ist und keinen Inhalt hat, ist der Wert seiner Size-Eigenschaft 0,0. In diesem Fall wird das Steuerelement auf die Größe eines Punkts verkleinert und ist nicht mehr ohne Weiteres sichtbar.
Wenn die GetPreferredSize-Methode für ein Steuerelement nicht implementiert wird, wird mit der GetPreferredSize-Methode der Wert zurückgegeben, der der Size-Eigenschaft zuletzt zugewiesen wurde. Das bedeutet, dass es keine Auswirkungen hat, wenn AutoSize auf true festgelegt wird.
Ein Steuerelement in einer TableLayoutPanel-Zelle wird immer verkleinert, sodass es in die Zelle passt, bis die MinimumSize erreicht ist. Diese Größe wird als maximale Größe erzwungen. Dies ist nicht der Fall, wenn die Zelle Teil einer AutoSize-Zeile oder -Spalte ist.

AutoSizeMode-Eigenschaft

Die AutoSizeMode-Eigenschaft bietet eine genauere Kontrolle über das Standardverhalten von AutoSize. Die AutoSizeMode-Eigenschaft gibt an, wie ein Steuerelement seine eigene Größe auf seinen Inhalt abstimmt. Der Inhalt kann z. B. der Text für ein Button-Steuerelement oder die untergeordneten Steuerelemente für einen Container sein.

Die folgende Tabelle zeigt die AutoSizeMode-Einstellungen und eine Beschreibung des Verhaltens, das jede Einstellung hervorruft.

AutoSizeMode-Einstellung Verhalten
GrowAndShrink Das Steuerelement wird vergrößert bzw. verkleinert, um es an seinen Inhalt anzupassen.

Die Werte von MinimumSize und MaximumSize werden berücksichtigt, der aktuelle Wert der Size-Eigenschaft wird jedoch ignoriert.

Dies ist das gleiche Verhalten wie bei Steuerelementen mit AutoSize-Eigenschaft und ohne AutoSizeMode-Eigenschaft.
GrowOnly Das Steuerelement wird so weit vergrößert, dass es an seinen Inhalt angepasst ist, eine Verkleinerung erfolgt jedoch höchstens bis zum Wert seiner Size-Eigenschaft.

Dies ist der Standardwert für AutoSizeMode.

Steuerelemente, die die AutoSize-Eigenschaft unterstützen

In der folgenden Tabelle sind die Steuerelemente aufgeführt, die die Eigenschaften AutoSize und AutoSizeMode unterstützen.

AutoSize-Unterstützung Steuerelementtyp
- AutoSize-Eigenschaft unterstützt.
– Keine AutoSizeMode-Eigenschaft.
CheckBox

DomainUpDown

Label

LinkLabel

MaskedTextBox (TextBox-Basis)

NumericUpDown

RadioButton

TextBox

TrackBar
- AutoSize-Eigenschaft unterstützt.
- AutoSizeMode-Eigenschaft unterstützt.
Button

CheckedListBox

FlowLayoutPanel

Form

GroupBox

Panel

TableLayoutPanel
– Keine AutoSize-Eigenschaft. CheckedListBox

ComboBox

DataGridView

DateTimePicker

ListBox

ListView

MaskedTextBox

MonthCalendar

ProgressBar

PropertyGrid

RichTextBox

SplitContainer

TabControl

TabPage

TreeView

WebBrowser

ScrollBar

AutoSize in der Entwurfsumgebung

In der folgenden Tabelle wird das Größenverhalten eines Steuerelements zur Entwurfszeit basierend auf dem Wert seiner Eigenschaften AutoSize und AutoSizeMode beschrieben.

Überschreiben Sie die SelectionRules-Eigenschaft, um festzustellen, ob sich ein bestimmtes Steuerelement in einem vom Benutzer veränderbaren Zustand befindet. In der folgenden Tabelle bedeutet „kann nicht“ nur Moveable, während „kann“ AllSizeable und Moveable bedeutet.

AutoSize-Einstellungen Geste zur Dimensionierung zur Entwurfszeit
- AutoSize = true
– Keine AutoSizeMode-Eigenschaft.
Benutzer können die Größe des Steuerelements zur Entwurfszeit nur für die folgenden Steuerelemente ändern:

- TextBox
- MaskedTextBox
- RichTextBox
- TrackBar
- AutoSize = true
- AutoSizeMode = GrowAndShrink
Der Benutzer kann die Größe des Steuerelements zur Entwurfszeit nicht ändern.
- AutoSize = true
- AutoSizeMode = GrowOnly
Der Benutzer kann die Größe des Steuerelements zur Entwurfszeit ändern. Wenn die Size-Eigenschaft festgelegt ist, kann der Benutzer nur die Größe des Steuerelements erhöhen.
- AutoSize = false, oder AutoSize-Eigenschaft ist ausgeblendet. Der Benutzer kann die Größe des Steuerelements zur Entwurfszeit ändern.

Hinweis

Um die Produktivität zu maximieren, blendet der Windows Forms-Designer in Visual Studio die AutoSize-Eigenschaft für die Form-Klasse aus. Zur Entwurfszeit verhält sich das Formular so, als ob die AutoSize-Eigenschaft auf false festgelegt ist – unabhängig von der tatsächlichen Einstellung. Zur Laufzeit wird keine spezielle Anpassung vorgenommen, und die AutoSize-Eigenschaft wird gemäß der Eigenschaftseinstellung angewendet.

Weitere Informationen