Text in Textbox schreiben

MacMoik

Grünschnabel
Hallo!

Ich möchte in ein Formular einen Text in eine Textbox schreiben. Diesen Text möchte ich z.B. durch einen Click auf einen Button in eine Textbox eines anderen geöffneten Formulars schreiben. Wie kann ich das machen. Bei mir klappt das nur, wenn ich eine neue Instanz des anderen Formulars erzeuge, eine bestehende Instanz kann ich nicht ändern.

Gruß

Mac
 
Hi MacMoik,

also ich weiß jetzt nicht genau, ob du das bereits so gemacht hast, aber ich würde es so probieren:
Code:
Fomularname.Textbox.text = "Zu übergebender Text"

Alternativ könntest du auch mit Variablen arbeiten, die du vorher als Public deklariert hast.

Ciao:
Da' Hacker
 
@Da Hacker: Das funktioniert nur, wenn das Zielfenster die StandardInstanz des Formulars ist. Ist dem nicht so, muss dem Aufrufenden Formular die Instanz bekannt sein.

Oder das wird generel anders gelöst über Ereignisse und Benachrichtigungen.
 
Hi mage!

Genau so ist es! Das Problem ist für mich, wie mache ich die Instanz bekannt? Deklariere ich die Textbox als Public Shared, dann geht es, aber das ist ja auch nicht der Sinn der OOP. Ich habe es auch schon mit Get und Set probiert funktioniert leider auch nicht. Kannst du mir ein einfaches Beispiel beschreiben, wie man so etwas lösen kann (wie du geschrieben hast mit Ereignissen und Benachrichtigungen)? Wäre echt super. Ich komme einfach nicht weiter.

Gruß

Mac
 
Original von MacMoik
Deklariere ich die Textbox als Public Shared, dann geht es, aber das ist ja auch nicht der Sinn der OOP.
Also für reine OOP ist VB ohnehin nicht gedacht und auch nicht wirklich geeignet, also zerbrich Dir nicht den Kopf, wenn Du da an bestimmten Stellen Abstriche machst.

MfG schon mal in Deckung geht in Erwartung böser Antworten :)
 
Man könnte doch auch jedesmal, wenn eine neue Instanz einer Form erzeugt wird, einen Objektverweis auf die Form (oder auch gleich auf die Textbox) in einem Array speichern. Dann kannst du die einzelnen Formen/Textboxen über das Array ansprechen.
Oder du "markierst" die Zielform, in dem du in die Tag-Eigenschaft eine Nummer oder ähnliches reinschreibst. Dann suchst du die Zielform aus der Forms-Auflistung heraus und sprichst die Textbox an. Ich glaub ich mach da mal einen Beispielcode:
Code:
Dim MyForm As Form
For Each MyForm In Forms
    If MyForm.Tag = "Markierung oder ähnliches" Then MyForm.Text1.Text = "Hallo!"
Next
 

Neue Beiträge

Zurück