ShowDialog und MdiParent Problem
-
FormLF fLF = new FormLF(); fLF.MdiParent = this; if (fLF.MdiParent.ShowDialog() == DialogResult.OK) { myMDICKos.Invalidate(); }
Hallo,
bei der IF-Abfrage verabschiedet sich mein Programm und macht nicht weiter. Ich möchte halt den OK button abfangen! Über eure Hilfe würde ich mich freuen.
Gruß
Rafael
-
Im Prinzip schreibst du doch:
if (this.ShowDialog() == DialogResult.Ok) { ... }
Das heißt im Klartext Du zeigst "this" modal an und wartest auf den "Ok"-Button.
D.h. dein Dialog wartet auf sein eigenes DialogResult, was er ja nicht zurückgeben kann, eben weil er wartet -> "Deadlock".
Muss MDI-Parent überhaupt modal sein?
Nach dem warten auf das DialogResult "Invalidate()" auf ein Child aufzurufen bringt sowieso nichts, da der Dialog und seine Childs bereits geschlossen sind.
Häng Dich doch einfach bei dem Button.Click event ein und rufe dann invalidate.
-
Im Prinzip schreibst du doch:
if (this.ShowDialog() == DialogResult.Ok) { ... }
Das heißt im Klartext Du zeigst "this" modal an und wartest auf den "Ok"-Button.
D.h. dein Dialog wartet auf sein eigenes DialogResult, was er ja nicht zurückgeben kann, eben weil er wartet -> "Deadlock".
Muss MDI-Parent überhaupt modal sein?
Nach dem warten auf das DialogResult "Invalidate()" auf ein Child aufzurufen bringt sowieso nichts, da der Dialog und seine Childs bereits geschlossen sind.
Häng Dich doch einfach bei dem Button.Click event ein und rufe dann invalidate.Edit:
Sorry für den doppelten post
-
Herb schrieb:
Häng Dich doch einfach bei dem Button.Click event ein und rufe dann invalidate.
Edit:
Sorry für den doppelten postWie kann ich das machen?
-
Hallo
Wenn du im VS im Designer arbeitest, klickst du denn Button einfach doppelt an.
chrische