Übersicht über die AutoSize-Eigenschaft
Aktualisiert: November 2007
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 |
---|---|
|
MaskedTextBox (TextBox-Basis) |
|
|
|
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 |
---|---|
|
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. |
![]() |
---|
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. |