Laden...

Form innerhalb eines MDI-Containers schließen und neues Form öffnen

Erstellt von MHenschel vor 2 Jahren Letzter Beitrag vor 2 Jahren 209 Views
M
MHenschel Themenstarter:in
4 Beiträge seit 2021
vor 2 Jahren
Form innerhalb eines MDI-Containers schließen und neues Form öffnen

Hallo,

ich habe d mal wieder eine kleine Frage. Ich bekomme es irgendwie nicht selber hin.

Ich habe einen MDI-Container in über ein Menü mehrere Forms aufgerufen werden und in diesem Container angezeigt werden. Das funktioniert soweit auch alles super.

Jetzt möchte ich aus einem dieser Forms über einen Button das aktive Form schließen und gleichzeitig ein anderes öffnen. Das schließen funktioniert, aber die neue Form wird außerhalb des MDI-Containers geöffnet.

Mein erster gedanke.


private void btn_Ändern_Click(object sender, EventArgs e)
        {
            
            projektnummer = tb_ProjektKurz.Text;
            
            this.Close();
            projektÄndern = new Module.Projekte.ProjektÄndern(projektnummer);
            projektÄndern.MdiParent = projektÄndern.ActiveMdiChild;
            projektÄndern.Show();
            projektÄndern.FormClosed += new FormClosedEventHandler(projektÄndern_FormClosed);

        }

Mein zweiter Gedanke


private void btn_Ändern_Click(object sender, EventArgs e)
        {
            
            projektnummer = tb_ProjektKurz.Text;
            
            this.Close();
            ProjektÄndern f3 = new ProjektÄndern(projektnummer);
            f3.MdiParent = f3.ActiveMdiChild;
            f3.Show();

        }


Kann mir hier eventuell jemand weiter helfen?

Gruß

Marek

4.931 Beiträge seit 2008
vor 2 Jahren

Wie kommst du denn auf


projektÄndern.MdiParent = projektÄndern.ActiveMdiChild;

?

Der MdiParent sollte doch einfach derselbe der aktuellen Form, also this.MdiParent, sein:


projektÄndern.MdiParent = this.MdiParent; // bzw. nur MdiParent

Evtl. erst nachher die aktuelle Form schließen (statt zuvor) bzw. den aktuellen MdiParent in einer Variablen sichern und nachher zuweisen.

M
MHenschel Themenstarter:in
4 Beiträge seit 2021
vor 2 Jahren

Hallo,

und wieder einmal ein großes Dankeschön für die Hilfe.


projektÄndern.MdiParent = this;

das hatte ich bereits versucht. Nur leider lief es auf einen Fehler hinaus. Aber das man nach dem this mal ein Punkt setzt, darauf bin ich irgendwie nicht gekommen und bei den ganzen Google Treffern habe ich das wohl auch nicht geschnallt oder ständig überlesen.

Naja, manchmal sieht man den Wald vor lauter Bäumen nicht mehr.

trotzdem großes Dankeschön für die schnelle Hilfe.

Gruß Marek