Hallo,
ich habe eine Form mit 6 Buttons und einer TabControl. Es gibt u.a. eine Registerkarte mit dem Namen "Farben". Diese enthält zudem drei Groupboxen, die jeweils mehrere Labels und Comboboxen enthalten. Auf allen Registerkarten befinden sich Labels, Comboboxen, Checkboxen und Buttons. Nun möchte ich, dass alle Labels beispielsweise die gleiche Höhe bekommen. Folgender Code funktioniert bei allen Labels, die nicht in einer Groupbox sind:
Natürlich könnte ich da auch eine weitere Schleife einfügen, die speziell alle Groupboxen durchläuft und die darin enthaltenen Elemente anpaßt. Gibt es eine Möglichkeit, alle Elemente unabhängig ihres Standortes anzusprechen? Oder muß ich tatsächlich für jede Ebene eine eigene Schleife basteln?
ich habe eine Form mit 6 Buttons und einer TabControl. Es gibt u.a. eine Registerkarte mit dem Namen "Farben". Diese enthält zudem drei Groupboxen, die jeweils mehrere Labels und Comboboxen enthalten. Auf allen Registerkarten befinden sich Labels, Comboboxen, Checkboxen und Buttons. Nun möchte ich, dass alle Labels beispielsweise die gleiche Höhe bekommen. Folgender Code funktioniert bei allen Labels, die nicht in einer Groupbox sind:
VB.NET-Quellcode
- EinstellungenTab.Top = 10
- EinstellungenTab.Left = 10
- EinstellungenTab.Width = Me.ClientSize.Width - 20
- EinstellungenTab.Height = Me.ClientSize.Height - 40 - (BackupsLoeschenBefehl.Height * 2)
- Zeile = CInt((EinstellungenTab.ClientSize.Height - 20) / 10)
- Spalte = CInt((EinstellungenTab.ClientSize.Width - 60) / 4)
- Mitte = CInt(EinstellungenTab.ClientSize.Width / 2)
- For Each Registerkarten In Me.Controls.OfType(Of TabControl)()
- For Each Registerkarte In Registerkarten.Controls.OfType(Of TabPage)()
- For Each Beschriftung In Registerkarte.Controls.OfType(Of Label)()
- Beschriftung.Visible = False
- Beschriftung.AutoSize = False
- Beschriftung.Width = Spalte
- Beschriftung.Height = Zeile
- Beschriftung.TextAlign = ContentAlignment.MiddleLeft
- Next
- Next
- Next
- DruckerLabel.Left = 10
- DruckerLabel.Top = CInt((Zeile / 2) - (DruckerLabel.Height / 2))
- DruckerCombo.Left = 20 + Spalte
- DruckerCombo.Top = CInt((Zeile / 2) - (DruckerCombo.Height / 2))
- '...
Natürlich könnte ich da auch eine weitere Schleife einfügen, die speziell alle Groupboxen durchläuft und die darin enthaltenen Elemente anpaßt. Gibt es eine Möglichkeit, alle Elemente unabhängig ihres Standortes anzusprechen? Oder muß ich tatsächlich für jede Ebene eine eigene Schleife basteln?