Ich habe eine kleine Anwendung, die Warnungen erstellt, wenn eine Änderung an einer Datenbank vorgenommen wird. Ich habe ein paar Optionen in der Warnmeldung, die erscheint.
Eine der Optionen öffnet ein anderes Formular (ein untergeordnetes Formular), das den Benutzer nach weiteren Informationen fragt.Ein Formular von einem anderen Formular schließen?
Wenn das untergeordnete Formular die erforderlichen Informationen vom Benutzer erhält, möchte ich, dass es so gut wie das übergeordnete Formular schließt. Bis jetzt weiß ich nur, wie man die Kindform schließt, aber nicht die Elternform.
Parent form > Opens child form
Child gathers information > User clicks ok in child > child closes, parent closes
^das ist, was ich will
Ich habe einfach nicht das Gehirn Macht darüber nachzudenken, wie über Formulare zu kommunizieren Schließen der Mutterform zu erreichen.
Jede Hilfe würde sehr geschätzt werden. Eigentlich wäre es super geschätzt. Wenn ich lernen könnte, wie man meine Formen miteinander kommunizieren lässt, könnte ich wirklich viel Schaden anrichten (auf eine gute Weise 8D).
ChildForm f = new ChildForm();
f.FormClosed += (o,e) => this.Close();
f.Show();
Wenn das untergeordnete Formular viele Informationen an das übergeordnete Formular zurücksenden soll, möchte ich lieber, dass die Klasse des untergeordneten Formulars eine statische Methode definiert, die ein untergeordnetes Formular erstellt, ShowDialog ausführt und die entsprechenden Informationen daraus in Rückgabedaten kopiert Objekt, zerstört das Formular und gibt die Daten zurück. In einem solchen Szenario kann der Konstruktor des untergeordneten Formulars geschützt werden oder, falls die Klasse nicht vererbbar ist, privat. – supercat
Ich übergebe entweder ein Geschäftsobjekt in das untergeordnete Formular und lasse Änderungen am Objekt vornehmen oder, in der Regel, die Daten als Eigenschaft für das untergeordnete Formular verfügbar machen. –