Kommunikation zwischen Forms

Dr fRaNkNsTeIn

Grünschnabel
Hallo,
ich habe zwei Forums. Eine Hauptform und einen andere in der ein Benutzer einen Pfad auswählt. Jetzt will ich den Pfad irgentwie in die Hauptform übergeben.
Wenn die eine Funktion der Hauptform die Öffnenform auswählt und diese dann auch wieder geschlossen wird, dann wird ein Standarteventhandler ausgelöst, der eine Funktion aufruft, die auf eine statische Variable in der Öffnenform zugreift und in der Hauptform zugänglich macht.
Das funktioniert auch soweit ganz gut, aber wenn man die Öffnenform wieder schließt, dann wird die Instanz der Öffnenform in der Hauptform vernichtet. Das heißt, dass nach nochmaligem klicken auf den Button, der die Öffnenform anzeigt eine Fehlermeldung kommt, in der steht, dass die Öffnenforminstanz nicht mehr existiert.
Wie kann ich dieses Problem lösen?

mfc
Franknstein
 

Saber

Erfahrenes Mitglied
Du machst das ganze in die falsche Richtung. Nicht die Öffnen-Form muss die öffentliche Variable besitzen, sondern die Haupt-Form.

Wenn der Benutzer die Öffnen-Form nämlich schließt, dann muss Dein Programm vorher noch kurz den Pfad an das Haupt-Form übergeben. Dann hast Du keine Probleme mehr. :)

P.S. Öffentliche Variablen benutzt man eigentlich nicht. Man sollte "Getter" und "Setter" verwenden (Properties).

P.P.S. Es gibt eine Klasse namens OpenFileDialog. Könnte auch hilfreich sein. :)