Dialog aus Dialog heraus öffnen

sTEk

Erfahrenes Mitglied
Ich habe ein kleines Problem.
Aus meinem Hauptform heraus öffne ich ein weiteres Form via ShowDialog().
In diesem wird (bei flascher Eingabe) wiederum ein Form als Dialog mittels ShowDialog() geöffnet. Wird nun dieses zweite Dialogfenster geschlossen, schließt sich der erste Dialog automatisch mit - warum? Und vor allem, wie umgehe ich das?

C#:
// in Klasse mainForm
// Dialog 1 öffnen
    using (F_Einstellungen form = new F_Einstellungen())
        if (form.ShowDialog() == DialogResult.OK)
        {
            //was halt gemacht werden muss
         }

//////////////////////////////////////////////
// in Klasse Dialog 1
    using (Form_standard forma = new Form_standard())
        if (forma.ShowDialog(this) == DialogResult.No)
            return;
 
Zuletzt bearbeitet:
Hi

Du hast sicherlich auf dem Button o.ä. das DialogResult auf OK gesetzt.
Dieses bleibt bestehen, auch wenn aus deiner Sicht nicht alles in Ordnung ist.
Öffnest du also deinen Fehler-Dialog, solltest du zuvor das Dialog Result auf None setzen.
 
Super - das wars! Danke! :)

Aber warum wird das Schließen des zweiten (Fehler)Dialogs gleich auch als Schließen des aufrufenden Dialogs interpretiert?
Das DialogResult ist doch abhängig vom jeweils abgefragten Dialog, oder irre ich mich da jetzt ganz kräftig?
 
Zuletzt bearbeitet:
Das DialogResult wird vorher schon gesetzt. Vor dem Schließen öffnest du den zweiten Dialog und der erste muss warten, da der zweite modal geöffnet wird. Der zweite Dialog wird geschlossen, die Methode ShowDialog kehrt zurück und der Programmablauf vom ersten Dialog kann weiter gehen.

Setzt du den Thread bitte noch auf erledigt?! Danke :)
 
Zurück