Hallo Leute,
ich habe da ein kleines Problem. Kann ich verhindern das eine Form die ich über form.Show(); anzeige und dann über den FormClosedEventHandler schließe, alle Ressourcen verwirft?
falsecode
Auch wird die Form nicht durch den FormCloseHandler Disposed sondern durch Close().
Das ist explizit so dokumentiert und gewollt.
Nun ich habe eine Hauptform und eine Form in der ich Einstellungen vornehme.
Wenn ich die Einstellungsform durch klicken auf ein Button mit Show() öffne und Einstellungen vornehme und dann schließe.
Dann nehme ich das durch das Closes Event in der Hauptform wahr. Wenn ich jetzt allerdings wieder die Einstellungsform öffnen möchte, sind die Ressourcen alle verworfen.
ShowDialog() klappt leider auch nicht weil es, aus einen mir unbekannten Grund erst beim zweiten Schließvorgang der Einstellungsform reagiert.
falsecode
Hallo falsecode,
wenn du die zweite Form in der Hauptform erstellst und öffnest, hast Du da die Form und alle Inhalte zur Verfügung.
Form frm2 = new Form()
frm2.ShowDialog()
// im Anschluss alle Daten der Form entnehmen
Viele Grüße,
telfa
EDIT: Oh, sorry
Da hat schon wieder das aktuell öfter verwendete VB.NET sich bemerkbar gemacht.
Habe die ';' im Anschluß vergessen...
ShowDialog ist ohnehin out, siehe Warten auf Schließen einer anderen Form [und warum man Dialoge nicht modal machen sollte].
Das habe ich schon versucht und erhielt dabei den bereits genannten Fehler:
ShowDialog() klappt leider auch nicht weil es, aus einen mir unbekannten Grund erst beim zweiten Schließvorgang der Einstellungsform reagiert.
Dein Problem ist auch nur die x-te Variante von [FAQ] Kommunikation von 2 Forms. Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.1 und 1.1.1.
Wenn du die Referenzen auf die Settings an allen Stellen hältst, wo du sie benötigst, wird auch nichts verworfen.