Ü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
.NET Desktop feedback