Laden...

Beim Schließen von Form2 schließt sich auch Form1

Erstellt von Keti vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.556 Views
K
Keti Themenstarter:in
4 Beiträge seit 2013
vor 10 Jahren
Beim Schließen von Form2 schließt sich auch Form1

Hallo zusammen,

ich habe folgendes Problem.

Ich öffne aus einer Form1 (nicht das Main Form) eine Form2 mit:

ProgrammsForm PrForm = new ProgrammsForm();
private void B_ProgOverview_Click(object sender, EventArgs e)
   {
       PrForm.ShowDialog();
    }

Nun möchte ich Form 2 wieder schliessen. Wenn ich das so mache:

private void Pr_CancelButton_Click(object sender, EventArgs e)
    {
       this.Close();
    }

schliesst sich Form1 ebenfalls und ich befinde mich wieder auf der MainForm.

Ich hätte aber gerne dass Form 1 geöffnet bleibt und weiter bearbeitet werden kann. Ich habe schon ewig gegoogelt aber bisher nix brauchbares gefunden.

Kann mir jemand helfen?
Besten Dank im Voraus

T
67 Beiträge seit 2010
vor 10 Jahren

Nun möchte ich Form 2 wieder schliessen. Wenn ich das so mache:

private void Pr_CancelButton_Click(object sender, EventArgs e)  
    {  
       this.Close();  
    }  

Steht dieser Code denn in deiner Form 2? Nur so aus Neugier, denn an sich stimmt das so.

K
Keti Themenstarter:in
4 Beiträge seit 2013
vor 10 Jahren

Ja, das steht in From 2. Und Form 1 schliesst sich gleich mit...:-(

K
Keti Themenstarter:in
4 Beiträge seit 2013
vor 10 Jahren

Ich habe jetzt beim Schließen von Form2 eine Bool gesetzt.

        private void Pr_CancelButton_Click(object sender, EventArgs e)
        {
            test = true;
            this.Close();
        }
        private void OverviewForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (ProgrammsForm.test == true)
            {
                ProgrammsForm.test = false;
                e.Cancel = true;
            }
            else
            {
                e.Cancel = false;
            }
        }

Mit der Bool verhindere ich das Closing event. Geht zwar, schaut mit aber ziemlich stümperhaft aus. Geht das noch eleganter?

49.485 Beiträge seit 2005
vor 10 Jahren

Hallo Keti,

ein Form schließt sich nicht einfach ohne Grund. Finde den Grund und behebe die Ursache, statt um die Symptome herumzuprogrammieren.

Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 1.1.1.

herbivore

K
Keti Themenstarter:in
4 Beiträge seit 2013
vor 10 Jahren

Na dann werd ich mal die Bücher wälzen.

I
16 Beiträge seit 2012
vor 10 Jahren

Hallo.

Ich hatte auch mal so ein Problem.
Du müsstest ein Event auf der Form1 erstellen welches das schließen der Form2 auffängt.
Da kannst dann den CloseReason abfangen.

Irgendwie spielt ShowDialog() und this.close() nicht immer optimal zusammen =)

Ich hoffe das hilft dir etwas beim wälzen der Bücher 😃

Lg