Übersicht über die AutoSize-Eigenschaft
Die eigenschaft AutoSize ermöglicht es einem Steuerelement, seine Größe bei Bedarf zu ändern, um den durch die PreferredSize-Eigenschaft angegebenen Wert zu erreichen. 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 erzeugt ein etwas anderes Verhalten, abhängig vom jeweiligen Steuerelementtyp und dem Wert der AutoSizeMode
-Eigenschaft, wenn die Eigenschaft vorhanden ist. In der folgenden Tabelle werden die Verhaltensweisen beschrieben, die immer wahr sind, und enthält eine kurze Beschreibung der einzelnen:
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 seiner Location Eigenschaft immer konstant. | Wenn der Inhalt eines Steuerelements verursacht, dass es wächst, wächst das Steuerelement nach rechts und nach unten. Nach links werden Steuerelemente nicht vergrößert. |
Die Eigenschaften Dock und Anchor werden berücksichtigt, wenn AutoSize true ist. |
Der Wert der Location-Eigenschaft des Steuerelements wird an den korrekten 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 sind von der eigenschaft AutoSize nicht betroffen. |
Standardmäßig ist keine Mindestgröße festgelegt. | Das bedeutet, dass der Wert der Size-Eigenschaft 0,0 ist, wenn ein Steuerelement so eingestellt ist, dass es unter AutoSize verkleinert wird und keinen Inhalt hat. In diesem Fall wird das Steuerelement auf die Größe eines Punkts verkleinert und ist nicht mehr 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 ist. | Dies bedeutet, dass das Festlegen von AutoSize auf true keine Auswirkungen hat. |
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 differenziertere Kontrolle über das Standardverhalten von AutoSize. Die Eigenschaft AutoSizeMode
gibt an, wie ein Steuerelement seine Größe an seinen Inhalt anpasst. Der Inhalt kann z. B. der Text für ein Button-Steuerelement oder die untergeordneten Steuerelemente für einen Container sein.
In der folgenden Tabelle sind die AutoSizeMode-Einstellungen und eine Beschreibung des Verhaltens aufgeführt, das durch jede Einstellung hervorgerufen wird.
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 Dimensionierungsverhalten 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 Benutzende 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 Benutzende kann die Größe des Steuerelements zur Entwurfszeit ändern. |
Anmerkung
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