[C#] Events: Form1 schließen, wenn in Form2 auf ein Button geklickt wird

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Dark En3rgy, 7. Juni 2011 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 7. Juni 2011
    Events: Form1 schließen, wenn in Form2 auf ein Button geklickt wird

    Hallo Leute,

    ich sitze schon seit einer Stunde dran und weiß immer noch nicht, wie ich das Problem zu lösen habe. Ich habe in einer Anwendung zwei Formen. Form1 ist logischerweise das Hauptfenster. Wenn in Form2 auf ein bestimmtes Button geklickt oder es geschlossen wird, dann soll Form1 auch geschlossen werden.
    Ich habe keine Ahnung wie ich das realisieren soll, da ich keine Ahnung von Events habe. Deshalb brauche ich dringend Eure Hilfe.

    MfG

    Dark En3rgy
     
  2. 8. Juni 2011
    AW: Events: Form1 schließen, wenn in Form2 auf ein Button geklickt wird

    Globale Variable:
    Formname f2 = new Formname();

    Click Event auf deinem Button:
    if(!f2.Visible)
    f2.Show();
    else
    f2.Hide();

    hf

    wichtig ist halt eine instanz von der form zu erstellen bevor du sie benutzen kannst
     
  3. 9. Juni 2011
    AW: Events: Form1 schließen, wenn in Form2 auf ein Button geklickt wird

    Wenn ich es richtig verstanden habe, dann gibst du Form2 beim instantiieren einfach Form1 als Parameter mit und speicherst sie als Membervariable. Dann machst du noch eine öffentliche Methode von Form1, mit der man sie schließen kann, die aufgerufen wird, wenn man auf Form2 einen Button klickt, oder das Event FormClosing gefeuert wird.

    greez
     
  4. 12. Juni 2011
    AW: Events: Form1 schließen, wenn in Form2 auf ein Button geklickt wird

    Moin,
    Ich würde in Form1 einfach über den EventHandler auf das Event in Form2 reagieren...
    So kannst du wenn "frm2_FormClosing" ausgelöst wird auch Form1 schließen...
    Code:
     
     public Form1()
     {
     InitializeComponent();
     Form2 frm2 = new Form2();
     //Eventhandler einhängen
     frm2.FormClosing += new FormClosingEventHandler(frm2_FormClosing);
     frm2.show();
     }
    
     void frm2_FormClosing(object sender, FormClosingEventArgs e)
     {
     //Eventhandler wieder aushängen...
     Form2 frm2 = (Form2)sender;
     frm2.FormClosing -= new FormClosingEventHandler(frm2_FormClosing);
     this.Close();
     }
     }
    
    Solltest du öfter in deinem Programm EventHandler benutzen achte darauf das du diesen auch wider abmeldest sonst hast du für jedes mal einen Handler angemeldet was unter umständen ganzschön performance frisst

    MfG

    zer0x2k
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.