MDI Child


SeeSharpNewBee

Erfahrenes Mitglied
Hi,

ich hab ein MDI Fenster, und jetzt hab ich das problem, wie erklär ich einem bestehenden Fenster das es ein Childfenster ist? Danke

Falls es diesen oder einen ähnlichen thread hier schon gibt, entschuldige ich mich, und bitte um den link zu dem thread, da ich ihn über die suchfunktion nicht gefunden hab!
 

Norbert Eder

Erfahrenes Mitglied
Im MDI-Parent musst du die Eigenschaft IsMDIContainer setzen:
Code:
this.IsMDIContainer = true;
Danach instanzierst du die Child-Form und setzt dort einfach die MDIParent-Eigenschaft auf die Parent-Form:
Code:
Form frmchild=new Form();
frmchild.MDIParent=this;
frmchild.Show();
 

SeeSharpNewBee

Erfahrenes Mitglied
Hi, danke für das Codebeispiel!

Wird mit Form frmChild = new... nicht eine neue Form erzeugt?

Ich möchte eine schon bestehende Form hinzufügen, und hab versucht bei Form_Load hineinzuschreiben frmMDI.MDIParent.... jedoch gibts das da gar nicht, warum? Danke
 

LieberNet

Mitglied
Hi!
In C# muss JEDES Objekt (auch Formen) erstmal instanziert werden, bevor es verwendet werden kann. Das was Du hier machst hört sich ein bischen nach VB an, wo Formen direkt über den DesignerNamen verwendet werden konnten...

Um eine Form anzuzeigen, mußt Du in C# zuerst Deine eigene Form instanzieren.
Code:
//DesignerFormName = Der Name der Form im Designer = meistens auch ClassName der Form
DesignerFormName frmMyFormObject = new DesignerFormName();
//this is in diesem Fall die Hauptform, die die MDI Childs beinhaltet
frmMyFormObject.MdiParent = this; 
frmMyFormObject.Show(); // Jetzt erst wird Deine Load methode aufgerufen
Im Load Event Deines Child Windows ist die halbe Erstellung Deiner Form schon gelaufen.

Hoffe das hilft:)
Ciao
LieberNet