10.04.2018, 16:15
Hallo liebe Leute,
ich habe ein Problem bezüglich der Programmiereffizienz bei der Erstellung von dynamischen Textboxen.
Hier mal zunächst mein Code:
Wie ihr sehen könnt, werden 2 untereinanderstehende Textboxen dynamisch konstruiert.
Meine Frage, wenn ich meine zweite Textbox, also TextBox20 konstruiere, mache ich das ja
wieder mit dem Objekt objTextBox, mit dem ich schon vorher die TextBox10 konstruiert habe.
Da die zweite TextBox unter der ersten liegen soll sind bis auf die Eigenschaft Top alle anderen
Eigenschaften von objTextBox gleich.
Wie kann ich so etwas rationaler gestalten?
ich habe ein Problem bezüglich der Programmiereffizienz bei der Erstellung von dynamischen Textboxen.
Hier mal zunächst mein Code:
Code:
Sub UserForm_Initialize()
TextBoxen_Konstruktion Me
End Sub
Im Modul:
Dim TextBoxContr(5) As New clsControl
Sub TextBoxen_Konstruktion(Ufk As UserForm)
Dim objTextBox As MSForms.TextBox
'1. TextBox
Set objTextBox = Ufk.Controls.Add("Forms.TextBox.1", "TextBox" & 10, True)
With objTextBox
.MultiLine = True
.Left = 0
.Top = 0
.Height = 50
.Width = Application.Width - 8
.Visible = True
.Font.Size = 12
.Font.Bold = True
.Font.Name = "Courier New"
End With
Set TextBoxContr(1).TextBoxCmd = objTextBox
'2. TextBox konstruieren
Set objTextBox = Ufk.Controls.Add("Forms.TextBox.1", "TextBox" & 20, True)
'objTextBox hat alle Eigenschaften wie vorher, bis auf die Eigenschaft
'Top, Wie geht's rationeller?
With objTextBox
.MultiLine = True
.Left = 0
.Top = TextBoxContr(1).TextBoxCmd.Height + 10
.Height = 50
.Width = Application.Width - 8
.Visible = True
.Font.Size = 12
.Font.Bold = True
.Font.Name = "Courier New"
End With
Set TextBoxContr(2).TextBoxCmd = objTextBox
End Sub
In der Klasse:
Public WithEvents TextBoxCmd As MSForms.TextBox
Wie ihr sehen könnt, werden 2 untereinanderstehende Textboxen dynamisch konstruiert.
Meine Frage, wenn ich meine zweite Textbox, also TextBox20 konstruiere, mache ich das ja
wieder mit dem Objekt objTextBox, mit dem ich schon vorher die TextBox10 konstruiert habe.
Da die zweite TextBox unter der ersten liegen soll sind bis auf die Eigenschaft Top alle anderen
Eigenschaften von objTextBox gleich.
Wie kann ich so etwas rationaler gestalten?