Servus
Kurze Frage: Gibt es eine möglichkeit, ein Usercontrol oder Panel zu einen MdiContainer zu machen?
Ich brauch das, weil ich in einem ActiveX Steuerelement einen Mdi Container brauche.
Hallo Blacal,
m.E. nicht, weil die MdiParent-Eigenschaft erst in der Form-Klasse eingefügt wird. Und die ist ein Bruder von UserControl und ein Neffe van Panel. 🙂 Also keine Vererbung in direkter Linie. Nach BGB würde da zwar trotzdem was mit Vererbung laufen, aber bei OOP nicht.
herbivore
ja gut aber wie kriege ich in ein UserContro ein MDI rein??? Ich habe gelesen das ich mir mit MDIClient einen erzeugen kann aber wie ich dem dann die Neuen Formen zuweise, weis ich nicht, da es mir wenn ich es nach dem Standart mache immer einen Fehler raushaut.
Hallo Blacal,
wenn ich es nach dem Standart mache immer einen Fehler raushaut.
Wie erstelle ich einen Beitrag?
Nachdem ich in der Suche keinen passenden Beitrag gefunden habe, erstelle ich ein Thema im passenden Forum mit einem aussagekräftigen Titel sowie einem verständlich formulierten Beitrag. Ich gebe die genaue Fehlermeldung oder den genauen Text der Exception an und poste die Codezeile, in der der Fehler aufgetreten ist.
herbivore
So sieht der aktuelle Code aus, der Steht in einer Klasse die von UserControl geerbt hat.
MdiClient mc = new MdiClient();
mc.Location = new System.Drawing.Point(0, 0);
mc.Name = "mdiContainer";
mc.Size = new System.Drawing.Size(400, 600);
mc.TabIndex = 0;
mc.Visible = true;
Form f = new Form();
f.MdiParent = mc;
f.ShowDialog();
Folgender Fehler tritt auf:
Fehler 1 Eine implizite Konvertierung vom Typ "System.Windows.Forms.MdiClient" in "System.Windows.Forms.Form" ist nicht möglich. 27 MDI-TEST
Kannst du mir da weiter helfen???
Ich hoffe das ich diesmal für dich die Frage Deutlich genug gestellt habe
Hallo Blacal,
Ich hoffe das ich diesmal für dich die Frage Deutlich genug gestellt habe
wäre schon alleine ein Grund nicht mehr zu antworten. Schließlich willst du eine Antwort und solltest nicht unnötig Informationen zurückhalten und uns damit das Leben schwer machen. Wenn man eine Fehlermeldung bekommt, gehört es einfach dazu, diese von alleine anzugeben.
Ein MdiClient-Objekt musst und solltest du gar nicht erstellen. Sowohl der MdiContainer (=MdiParent) also auch die MdiClients sind erstmal normale, von dir erstellte Forms. Im MdiContainer musst du IsMdiContainer auf true setzen und beim Client weist du an MdiParent eben dieses MdiContainer-Form zu. Das sollte alles sein.
herbivore
In einer UserContorl geerbenten klasse hat man kein MDIContainer und genau das ist mein Problem. Falls ich dich jetzt falsch verstanden haben sollte bitte ich um ein Code Beispiel.
mfg Blacal
Hallo Blacal,
ich habe ja schon geschrieben, dass ich denke, dass es mit einem UserControl nicht geht.
Aber was hindert dich, als MdiClient ein Form zu nehmen, das als einziges Control das UserControl mit DockStyle.Fill enthält?
herbivore
Da dieses Contorl noch in andere Fenster eingebunden werden soll, wie z.B. SAP etc
Hallo Blacal,
naja, sieht den Realitäten ins Auge. Was du willst, geht nicht. Eine Alternative habe ich aufgezeigt.
herbivore