Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Form innerhalb eines MDI-Containers schließen und neues Form öffnen
MHenschel
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

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

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4.323

beantworten | zitieren | melden

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.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Th69 am .
private Nachricht | Beiträge des Benutzers
MHenschel
myCSharp.de - Member



Dabei seit:
Beiträge: 4

Themenstarter:

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers