Show Dialog in 2. Form

  • C#

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Corby.

    Show Dialog in 2. Form

    Hey Leute,
    ich hab ein Problem mit der Überprüfung eines ShowDialog, am besten ich beschreib es mal:

    Ich öffne meine zweite Form:

    C#-Quellcode

    1. frmEinstellungen Beispiel = new frmEinstellungen();
    2. if (Beispiel.ShowDialog() == DialogResult.OK)
    3. {
    4. // Irgendwas
    5. }


    In der zweiten Form öffne ich ein nochmal ein Formular (OpenFileDialog) um eine Datei auszuwählen.

    C#-Quellcode

    1. OpenFileDialog ofd = new OpenFileDialog();
    2. ofd.Filter = "Text File | *.txt";
    3. if (ofd.ShowDialog() == DialogResult.OK)
    4. {
    5. // irgendwas
    6. }


    Nun hab ich das Problem, dass er nach der Bestätigung des "OpenFileDialog" auch die zweite Form beenden. (Ist auch irgendwie logisch)
    Gibts eine Möglichkeit, dass die zweite Form nach der Bestätigung geöffnet bleibt? Mit Beispiel.Show() statt Beispiel.ShowDialog() würde es gehen, dann könnte ich aber nicht mehr das Ergebnis (Ja/Nein) überprüfen...
    Hat vlt. jemand eine Idee? :)

    MfG CorbyT
    Star mich nicht so an, ich bin auch nur eine Signatur

    Corby schrieb:

    Ist auch irgendwie logisch
    Ich finde das durchaus komisch, weil das DialogResult von dem hat ja nichts mit der Form zu tun. Zeig' mal Deinen kompletten Code.
    Übrigens solltest Du nicht vergissen, den FileDialog zu disposen. ;)

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Corby schrieb:

    auch die zweite Form beenden
    Völlig unlogisch.
    Ich nehme mal an, dass Du das DialogResult des 2. Dialogs mit dem Rückgabewert des OFD belegst, da passiert solch:

    C#-Quellcode

    1. // irgendwas
    2. this.DialogResult = DialogResult.OK;
    Gugst Du mal hier.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!