Ich habe eine Gruppe von 8 TextBoxes
in einer WinForm
und ich habe ein Objekt-Array erstellt, damit sie enthalten sind. Bei der Initialisierung der Form
möchte ich jede TextBox.text
auf Environ("USERPROFILE") & "\Documents"
setzen, um den Standard-Dateipfad für jede Box anzuzeigen. In diesen Feldern wird angezeigt, welche Datei basierend auf Benutzereingaben geladen werden soll.Gibt es eine Möglichkeit, meine bestehenden TextBoxen zu durchlaufen und jeden .Text zu definieren?
Derzeit sieht der Code wie folgt aus:
Public Sub New()
InitializeComponent()
BWGPTextBox.Text = Environ("USERPROFILE") & "\Documents"
BWBRTextBox.Text = Environ("USERPROFILE") & "\Documents"
ChGPTextBox.Text = Environ("USERPROFILE") & "\Documents"
ChBRTextBox.Text = Environ("USERPROFILE") & "\Documents"
CCGPTextBox.Text = Environ("USERPROFILE") & "\Documents"
CCBRTextBox.Text = Environ("USERPROFILE") & "\Documents"
PPGPTextBox.Text = Environ("USERPROFILE") & "\Documents"
PPBRTextBox.Text = Environ("USERPROFILE") & "\Documents"
End Sub
Gibt es eine Möglichkeit ich kann es For-Schleife innerhalb einer betreiben (ähnlich unten, außer dies nicht funktioniert) jedes Feld zu definieren? So kann ich auch jedes Feld gleichmäßig ändern können, wie [Excel.Application].[Excel.Workbook].Open(TextBoxesList(x).Text)
Public Sub New()
InitializeComponent()
Dim TextBoxesList As Object = {BWGPTextBox, BWBRTextBox, _
ChBRTextBox, ChGPTextBox, _
CCGPTextBox, CCBRTextBox, _
PPGPTextBox, PPBRTextBox}
For Each x In TextBoxesList
TextBoxesList(x).GetType() ' = Environ("USERPROFILE") & "\Documents"
Next
End Sub
'As Object' ist fast immer die falsche Herangehensweise, da es die Objekte, die Sie versuchen zu verwenden. 'Dim TextBoxesList As TextBox() = ...' erstellt ein Array von Textboxen * und * ermöglicht den Zugriff auf Textbox-Eigenschaften – Plutonix
@Plutonix Um dieses Array zu erstellen und zu definieren, würde 'TextBoxList als TextBox() = {TextBox1, TextBox2, [....]} 'Arbeit? Wenn ja, würde 'TextBoxesList (x) .text =" Text hier "auch funktionieren? – Munkeeface
@Plutonix Nach der Verwendung von 'TextBoxesList (x) .text =" put text here "', bekomme ich eine Fehlermeldung, die besagt, dass "Value of Type System.Windows.Forms.Textbox nicht in Integer konvertiert werden kann". Weißt du, warum das der Fehler ist? (Entschuldigung, ich bin neu in Visual Studio von VBA, also bin ich noch nicht daran gewöhnt, Fehler zu entschlüsseln ...) – Munkeeface