[.NET 2.0] ToolStripContainer und MDI
-
Hallo.
Ich bastle gerade an einer MDI Anwendung und möchte das ToolStripContainer Steuerelement verwenden. Dieses füllt das ganze Fenster aus. Nun soll das Fenster als MDI Parent dienen. Geht aber nicht, da die ContentPane des ToolStripContainers die Clientarea verdeckt. Ich habe schon echt viel versucht um die ContentPane wegzubekommen aber nichts geht. Kennt ihr vielleicht die Lösung?
-
OK, ich habs hinbekommen.
-
-
Jover schrieb:
OK, ich habs hinbekommen.
Vielleicht hätte es ja auch mal jemand anderen interessiert, der dieses Problem hat.
-
Ich erkläre es gerne.
Also.
Wenn ein Form als MDIContainer erstellt wird (IsMdiContainer = true), erstellt das Framework ein Fenster der Klasse MdiClient mit Dock = DockStyle.Fill (dh. Dieses MdiClient Fenster füllt die ganze Form aus). Da nun aber über dem MdiClient unser ToolStripContainer liegt ist der MdiClient nicht sichtbar. Um das zu ändern müssen wir aus den Controls des Fensters jenes Control heraussuchen, das vom Typ MdiClient ist.
Diesem Objekt setzen wir Dock auf DockStyle.None und setzen seine Position und Größe auf die des ToolStripContainer.ContentPanel. Außerdem rufen wird die Methode MdiClient.BringToFront() für das objekt auf um es sichtbar zu machen.
Zum Schluss muss noch ein Event Handler für das Resize Ereignis der Form eingefügt werden, um dort das MdiClient objekt wieder auf die Position und Größe des ContentPanels zu setzen.Das wars schon.
Led Zeppelin rockt!
-
Hallo Jover!
Vielleicht kannst du mir ein helfen? Will dasselbe realisieren, das du schon geschafft hast.
Du schreibst ja das man das MdiClient Fenster suchen muss.
Jedoch wo findet man das?
Wenn ich einen MDIContainer erstelle (IsMdiContainer = true), dann finde ich nirgends dieses Fenster der Klasse MdiClient.Vielleicht hilfst du mir auf die Sprünge. Danke!
-
OK, gefunden hab ich es schon.
Jedoch wie findet man die Position und Size des Contenpanels heraus?
toolstripcontainer1.contentpanel. gibt leider keine Location oder Size
-
ok, habs jetzt endgültig selbst rausgefunden. Ging genauso wie du sagtest.