Hallo,
ich habe 2 Formulare (Formular A, Formular B)
In Formular A öffne ich das Formular B, nun möchte ich wenn ich Formular B geschlossen habe, das in Formular A ein bestimmter Code ausgeführt wird, wie macht man sowas?
Gruß Simon
Gibt mehrere Möglichkeiten.
Wenn du die Form B über ShowDialog aufrufst, läuft der Code in der Form A weiter, sobald die Form geschlossen wird oder du realisierst das ganze über Events.
Dexter
Programmierer sind Maschinen die Koffein in Quellcode umsetzen.
Hi
du kannst das z.B. über die Events FormClosing/FormClosed realisieren.
mfg
Christoph
oder einfach
while(A.Visible)
{
}
//Hier dann der code der ausgeführt werden soll nachdem Form A geschlossen wurde
is aber nich die optimale lösung 🙂
Obstehende Probleme können häufig miserabel Formuliert und dadurch extrem unverständlich sein
Hallo odysy,
nee, das ist nicht nur nicht optimal, sondern schlicht falsch, weil dadurch das GUI-blockiert, wenn der Code im GUI-Thread läuft. Und wenn er in einem extra-Thread laufen soll, ist er falsch, weil man da nicht ohne Control.Invoke auf A.Visible zugreifen darf.
Und ich verstehe auch nicht so ganz, warum das postet, wo doch die optimale Lösung schon genannt wurden:
Events Form.FormClosing/Form.FormClosed (bzw. auch Form.Closing/Form.Closed)
herbivore