Hallo zusammen,
nachdem ich mich nun dusselig gesucht habe und irgendwie keine der Lösungen funktionieren wollte die ich im Internet gefunden habe wollt ich mal hier nachfragen.
Zu allererst einmal, es handelt sich um Visual Basic.Net 2005
Folgender Sachverhalt, ich bin grade am Testen mit dynamischen Controls, was soweit auch einigermaßen Funktioniert. Ich möchte mir in einer For-Schleife beliebig viele Textboxen dynamisch erstellen. Der Code dazu sieht folgendermaßen aus:
Wundert euch bitte nicht über die If-Abfrage, das ist einfach nur damit ich verstehe wie es läuft. Dieser Teil wird im Form-Load ausgeführt damit die Textboxen gleich zu beginn erstellt werden. Lustig zu beobachten ist nun allerdings, dass nur eine Textbox tatsächlich vorhanden ist, nämlich die 2. der Beiden. Textbox 1 ist komplett verschwunden, auch ist kein Zugriff darauf mehr möglich.
Der Zugriff erfolgt in einem Button folgendermaßen:
Dieser Fall funktioniert noch problemlos, gleicher Code allerdings mit "Test1" funktioniert nicht mehr, es gibt folgenden Fehler: "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."
In diesem Fall ist die Textbox einfach wieder verschwunden, ich weiß nicht wirklich warum und vorallem wohin. Die 1. Textbox wird erstellt, verschwindet aber sobald Textbox2 erstellt wird.
Das soll jetzt auch kein Ellenlanger Code werden den ich brauche, mich würde nur interessieren was mit der 1. Textbox passiert ist und wie ich per Button auf beide Textboxen zugreifen kann, beispielweise so:
nur kommt es wie gesagt zum bereits genannten Fehler da die 1. Textbox beim Erstellen der zweiten einfach verschwindet.
Auch möchte ich hinzufügen, dass diese Aufgabe keinen wirklichen Nutzen bietet außer dem, dass ich verstehen möchte wie es funktioniert, da ich dynamische Controls für ein anderes Programm brauche.
Liebe Grüße und vielen Dank im Voraus
nachdem ich mich nun dusselig gesucht habe und irgendwie keine der Lösungen funktionieren wollte die ich im Internet gefunden habe wollt ich mal hier nachfragen.
Zu allererst einmal, es handelt sich um Visual Basic.Net 2005
Folgender Sachverhalt, ich bin grade am Testen mit dynamischen Controls, was soweit auch einigermaßen Funktioniert. Ich möchte mir in einer For-Schleife beliebig viele Textboxen dynamisch erstellen. Der Code dazu sieht folgendermaßen aus:
Code:
For i = 1 To 2
If i = 1 Then
myTextBox.Name = (("Test" & i))
Me.Controls("Test" & i).Top = 10
Me.Controls.Add(myTextBox)
Else
myTextBox.Name = (("Test" & i))
Me.Controls("Test" & i).Top = 30
Me.Controls.Add(myTextBox)
End If
Next
Wundert euch bitte nicht über die If-Abfrage, das ist einfach nur damit ich verstehe wie es läuft. Dieser Teil wird im Form-Load ausgeführt damit die Textboxen gleich zu beginn erstellt werden. Lustig zu beobachten ist nun allerdings, dass nur eine Textbox tatsächlich vorhanden ist, nämlich die 2. der Beiden. Textbox 1 ist komplett verschwunden, auch ist kein Zugriff darauf mehr möglich.
Der Zugriff erfolgt in einem Button folgendermaßen:
Code:
MsgBox(Me.Controls("Test2").Text)
Dieser Fall funktioniert noch problemlos, gleicher Code allerdings mit "Test1" funktioniert nicht mehr, es gibt folgenden Fehler: "Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt."
In diesem Fall ist die Textbox einfach wieder verschwunden, ich weiß nicht wirklich warum und vorallem wohin. Die 1. Textbox wird erstellt, verschwindet aber sobald Textbox2 erstellt wird.
Das soll jetzt auch kein Ellenlanger Code werden den ich brauche, mich würde nur interessieren was mit der 1. Textbox passiert ist und wie ich per Button auf beide Textboxen zugreifen kann, beispielweise so:
Code:
MsgBox(Me.Controls("Test1").Text)
MsgBox(Me.Controls("Test2").Text)
nur kommt es wie gesagt zum bereits genannten Fehler da die 1. Textbox beim Erstellen der zweiten einfach verschwindet.
Auch möchte ich hinzufügen, dass diese Aufgabe keinen wirklichen Nutzen bietet außer dem, dass ich verstehen möchte wie es funktioniert, da ich dynamische Controls für ein anderes Programm brauche.
Liebe Grüße und vielen Dank im Voraus