Hallo zusammen,
in meinem Projekt habe ich auf der Form einen Splitcontainer, darunter ein TabControl. In den einzelnen Tabpages wiederum Label und Textboxen.
In der Vergangenheit habe ich alle die Eigenschaften dieser Controls einzeln gesetzt. Ich möchte nun den Code optimieren und habe mir dazu eine verschachtelte Each-Schleife gebaut.
Das Ergebnis ist allerdings nicht zu meiner Zufriedenheit, bei den TabPages funktioniert es. Die Label und Textboxen entsprechen allerdings nicht mehr der ursprünglichen händischen Einstellung - siehe Bild.
Die ersten Zeilen sind mit der Each-Schleife erstellt, die dahinter händisch
Was muss ich korrigieren.
Freue mich über eure Hilfe
Norbert
in meinem Projekt habe ich auf der Form einen Splitcontainer, darunter ein TabControl. In den einzelnen Tabpages wiederum Label und Textboxen.
In der Vergangenheit habe ich alle die Eigenschaften dieser Controls einzeln gesetzt. Ich möchte nun den Code optimieren und habe mir dazu eine verschachtelte Each-Schleife gebaut.
VB.NET-Quellcode
- For Each StCont In FormTZ.Controls
- If TypeOf StCont Is TabControl Then
- For Each pag In DirectCast(StCont, TabControl).Controls
- If TypeOf pag Is TabPage Then
- DirectCast(pag, TabPage).BackColor = col_Tab
- DirectCast(pag, TabPage).BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
- DirectCast(pag, TabPage).Font = font_Label
- DirectCast(pag, TabPage).UseVisualStyleBackColor = True
- DirectCast(pag, TabPage).MinimumSize = New System.Drawing.Size(int_Grid_W, int_Grid_H)
- DirectCast(pag, TabPage).Size = New System.Drawing.Size(int_Grid_W, int_Grid_H)
- For Each lbl In DirectCast(pag, TabPage).Controls
- If TypeOf lbl Is Label Then
- DirectCast(lbl, Label).BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
- DirectCast(lbl, Label).BackColor = col_Label
- DirectCast(lbl, Label).Font = font_Label
- DirectCast(lbl, Label).MinimumSize = New System.Drawing.Size(int_lbl_w, int_lbl_h)
- DirectCast(lbl, Label).Size = New System.Drawing.Size(int_lbl_w, int_lbl_h)
- DirectCast(lbl, Label).TextAlign = System.Drawing.ContentAlignment.MiddleLeft
- End If
- If TypeOf lbl Is TextBox Then
- DirectCast(lbl, TextBox).Font = font_Foretext
- DirectCast(lbl, TextBox).Size = New System.Drawing.Size(int_tx_w, int_tx_h)
- End If
- Next
- End If
- Next
- End If
- Next
Das Ergebnis ist allerdings nicht zu meiner Zufriedenheit, bei den TabPages funktioniert es. Die Label und Textboxen entsprechen allerdings nicht mehr der ursprünglichen händischen Einstellung - siehe Bild.
Die ersten Zeilen sind mit der Each-Schleife erstellt, die dahinter händisch
Was muss ich korrigieren.
Freue mich über eure Hilfe
Norbert
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Normen“ ()