Ich bin mit einem Elternteil MDI Form, die ein Kind hat und sie zeigen sich sehr gut, wenn sie von diesem Elternteil aufgerufen und ich verwende Kind Formular intensiate alsgeordnetes MDI-Formular Problem Einstellung Eltern
ChildForm child = new ChildForm();
child.IsMdiContainer= this;
child.Show();
Werke sobald sie von der elterlichen Kontrolle aufgerufen werden, aber wenn ich sie von einer anderen Form anrufe, die kein Kind irgendeiner Elternform ist, dann bleiben sie nicht mehr Kind des Hauptelternteils. Ein offensichtlicher Grund ist, dass wenn ich sie auf dieser unabhängigen Form intensiviere Ich kann einfach nicht child.MDIParent = this; weil es unabhängig Form Elternteil zu machen neigen dazu, aber ich habe auch
MDIParentForm form = new MDIParentForm
ChildForm child = new ChildForm();
child.IsMdiContainer= form ;
child.Show();
aber auch wirft es eine Ausnahme statt diese Dosis nicht versucht, zu helfen, dass die Form, die ich gesetzt Elternteil bin nicht versuchen, MDI Container ist dann das gebe ich einen Versuch und
MDIParentForm form = new MDIParentForm ;
form.IsMdiContainer= true;
ChildForm child = new ChildForm();
child.MDIParent = form ;
child.Show();
ändern und im Ergebnis nichts erscheint
Irgendeine Idee, wie man ..........
ok das funktioniert gut, aber was ist, wenn das Formular von Ihnen anrufen das Kind Dosis haben keine Eltern können sagen, von einem Elternteil gibt es eine Popup-Nachricht, die nicht Kind dieses Formulars ist, wie dann welches Schema angenommen werden sollte –
Lots Von Wegen. Die Übergabe des Verweises an den Eltern über den Konstruktor des Formulars ist ein offensichtlicher Weg. Sogar Application.OpenForms [0] würde funktionieren. Wenn dem Elternelement eine statische Eigenschaft zugewiesen wird, sollte nur ein MDI-Elternelement vorhanden sein. Es ist der beste Weg, dem Elternteil zu überlassen, Kinder zu schaffen. Dieses benutzerdefinierte Ereignis erwähnte ich. Oder der Rückgabewert ShowDialog(). –