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
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.
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