ein childfenster über menü öffnen schliessen



  • hi ich wollte über ein menu ein fenster öffnen und schliessen.

    private void fenster1ToolStripMenuItem_Click(object sender, EventArgs e)
            {
    
                if (x == false)
                {
                    xmdichildform.MdiParent = this;
                    xmdichildform.Show();
                    x = true;
                }
            }
    

    So siehts zur Zeit aus, aber wie könnt ich jetzt sagen ,wenn ChildFenster geschlossen setze x = false?

    danke euch schonmal



  • [...].Closed += new EventHandler(Scheisse);



  • geht das auch?

    private void test()
            {
                if (zzz == 1)
                { 
                    xmdichildform.MdiParent = this;
                    xmdichildform.Show();
                }
                if (zzz == 2)
                {
                    fenster1ToolStripMenuItem.Checked = false;
                    xmdichildform.Hide();
                    zzz = 0;
                }
            }
    
            private void fenster1ToolStripMenuItem_Click(object sender, EventArgs e)
            {
    
                fenster1ToolStripMenuItem.Checked = true;
                test();
                zzz = zzz + 1;
            }
    

    funktioniert zwar sieht aber komisch aus, als würde er 3 erstellen, bis
    ich zzz wieder auf 0 setze.



  • Full oder wat?

    private void fenster1ToolStripMenuItem_Click(object sender, EventArgs e)
            {
    
                if (x == false)
                {
                    xmdichildform.MdiParent = this;
                    xmdichildform.Show();
                    xmdichildform.Closed += new EventHandler(Scheisse);
                    x = true;
                }
            }
    
    private void Scheisse(...)
    {
        kacken
    }
    


  • mhhh...

    mit xmdichildform.Closed, disposed/released er das objekt.
    und ist auch nich ganz das was ich wollte. beim 2ten mal anklicken
    auf das menustripitem gibts dann natürlich nen fehler.

    wenn ich auf menü fenter gehe, dort fenster1 klicke soll er es zeigen,
    bei erneutem anklicken das menüitems soll es ausgeblendet werden.

    und kann man den garbage collector irgendwie abschalten für bestimmte
    objekte?

    mit dem 2ten beispiel das ich gepostet hab gehts, sieht nur halt komisch
    aus.(vielleicht besser nur mit .visible = true/false zu arbeiten?)

    da hatte ich auch closed verwendet aber dann hab ich wieder das problem,
    dass es disposed/released wurde.

    tschuldigung bin noch recht neu bei c#. ist etwas gewöhnungsbedürftig.
    danke nochmal


Anmelden zum Antworten