Freigeben über


Übersicht über die AutoSize-Eigenschaft

Die AutoSize-Eigenschaft ermöglicht es einem Steuerelement, bei Bedarf seine Größe an den durch die PreferredSize-Eigenschaft festgelegten Wert anzupassen. Sie stellen das Größenanpassungsverhalten für bestimmte Steuerelemente ein, indem Sie die AutoSizeMode-Eigenschaft festlegen.

Das AutoSize-Verhalten

Nur einige Steuerelemente unterstützen die AutoSize-Eigenschaft. Außerdem unterstützen einige Steuerelemente, die die AutoSize-Eigenschaft unterstützen, auch die AutoSizeMode-Eigenschaft.

Die AutoSize-Eigenschaft löst je nach Steuerelementtyp und Wert der AutoSizeMode-Eigenschaft, falls vorhanden, ein geringfügig anderes Verhalten aus. Die folgende Tabelle enthält die Verhalten, die immer zutreffen, sowie eine kurze Beschreibung der jeweiligen Verhalten.

Immer zutreffendes Verhalten

Beschreibung

Die automatische Größenanpassung ist ein Laufzeitfeature.

Dies bedeutet, dass ein Steuerelement dadurch nie vergrößert oder verkleinert wird und somit keine weiteren Auswirkungen hat.

Wenn sich die Größe eines Steuerelements ändert, bleibt der Wert seiner Location-Eigenschaft immer konstant.

Wenn ein Steuerelement aufgrund seines Inhalts vergrößert wird, erfolgt die Größenanpassung nach rechts und nach unten. Steuerelemente werden nicht nach links vergrößert.

Die Dock-Eigenschaft und die Anchor-Eigenschaft werden berücksichtigt, wenn AutoSize auf true festgelegt ist.

Der Wert der Location-Eigenschaft des Steuerelements wird an den richtigen Wert angepasst.

Hinweis   Das Label-Steuerelement stellt die Ausnahme von dieser Regel dar. Wenn Sie den Wert der AutoSize-Eigenschaft eines angedockten Label-Steuerelements auf true festlegen, wird das Label-Steuerelement nicht gestreckt.

Die MaximumSize-Eigenschaft und die MinimumSize-Eigenschaft eines Steuerelements werden stets berücksichtigt, unabhängig vom Wert der AutoSize-Eigenschaft.

Die MaximumSize-Eigenschaft und die MinimumSize-Eigenschaft werden von der AutoSize-Eigenschaft nicht beeinflusst.

Standardmäßig ist keine Mindestgröße festgelegt.

Wenn ein Steuerelement bei Verwendung von AutoSize verkleinert wird, jedoch über keinen Inhalt verfügt, lautet der Wert der Size-Eigenschaft 0,0. In diesem Fall wird das Steuerelement bis zu einem gewissen Punkt verkleinert und ist nicht ohne weiteres sichtbar.

Wenn ein Steuerelement die GetPreferredSize-Methode nicht implementiert, gibt die GetPreferredSize-Methode den letzten Wert zurück, der der Size-Eigenschaft zugewiesen wurde.

Wenn Sie also AutoSize auf true festlegen, hat dies keine Auswirkungen.

Ein Steuerelement in einer TableLayoutPanel-Zelle passt sich stets der Größe der Zelle an, bis seine 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 ermöglicht eine genauere Kontrolle über das standardmäßige AutoSize-Verhalten. Die AutoSizeMode-Eigenschaft gibt an, wie sich die Größe eines Steuerelements an dessen Inhalt anpasst. Bei dem Inhalt könnte es sich beispielsweise um den Text für ein Button-Steuerelement oder die untergeordneten Steuerelemente für einen Container handeln.

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

AutoSizeMode-Einstellung

Verhalten

GrowAndShrink

Das Steuerelement wird vergrößert oder verkleinert, sodass es seinen Inhalt umgibt.

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

Dies ist das gleiche Verhalten wie das von Steuerelementen mit der AutoSize-Eigenschaft und keiner AutoSizeMode-Eigenschaft.

GrowOnly

Das Steuerelement wird vergrößert, bis es seinen Inhalt umgibt, jedoch maximal bis zum Wert der Size-Eigenschaft verkleinert.

Dies ist der Standardwert für AutoSizeMode.

Steuerelemente, die die AutoSize-Eigenschaft unterstützen

In der folgenden Tabelle werden die Steuerelemente aufgelistet, die die AutoSize-Eigenschaft und die AutoSizeMode-Eigenschaft unterstützen.

AutoSize-Unterstützung

Steuerelementtyp

  • AutoSize-Eigenschaft wird unterstützt.

  • Keine AutoSizeMode-Eigenschaft.

CheckBox

DomainUpDown

Label

LinkLabel

MaskedTextBox (TextBox-Basis)

NumericUpDown

RadioButton

TextBox

TrackBar

  • Die AutoSize-Eigenschaft wird unterstützt.

  • Die AutoSizeMode-Eigenschaft wird unterstützt.

Button

CheckedListBox

FlowLayoutPanel

Form

GroupBox

Panel

TableLayoutPanel

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ößenanpassungsverhalten eines Steuerelements zur Entwurfszeit beschrieben, das auf dem Wert seiner AutoSize-Eigenschaft und seiner AutoSizeMode-Eigenschaft basiert.

Überschreiben Sie die SelectionRules-Eigenschaft, um herauszufinden, ob ein bestimmtes Steuerelement vom Benutzer angepasst werden kann. In der folgenden Tabelle bedeutet "kann nicht" lediglich Moveable, während "kann" AllSizeable und Moveable bedeutet.

AutoSize-Einstellungen

Größenanpassung zur Entwurfszeit

  • AutoSize = true

  • Keine AutoSizeMode-Eigenschaft.

Der Benutzer kann die Größe des Steuerelements zur Entwurfszeit nicht ändern, außer bei folgenden Steuerelementen:

Der Benutzer kann die Größe des Steuerelements zur Entwurfszeit nicht ändern.

Der Benutzer kann die Größe des Steuerelements zur Entwurfszeit ändern. Wenn die Size-Eigenschaft festgelegt ist, kann der Benutzer die Größe des Steuerelements lediglich erhöhen.

Der Benutzer kann die Größe des Steuerelements zur Entwurfszeit ändern.

Tipp

Um die Produktivität zu maximieren, führt der Windows Forms-Designer für die AutoSize-Eigenschaft der Form-Klasse Shadowing durch. Zur Entwurfszeit verhält sich das Formular, als ob die AutoSize-Eigenschaft auf false festgelegt sei, und zwar unabhängig von seiner eigentlichen Einstellung. Zur Laufzeit werden keine speziellen Anpassungen vorgenommen, und die AutoSize-Eigenschaft wird entsprechend der Eigenschafteneinstellung angewendet.

Siehe auch

Referenz

AutoSize

PreferredSize

GetPreferredSize