Mdi-Aufruf

magic_halli

Erfahrenes Mitglied
Hi,

ich habe in meiner windowsApplication 2 windowsFormulare.
Ich will aus meinem Form1 per Buttonklick ein Form2 heraus aufrufen, welches als Child-Fenster im Form1-Bereich erscheint. Das funktioniert auch wunderbar, aber... Wenn das Form2 sich öffnet, dann ist es hinter den Komponenten (ListBox, Buttons, Label) von Form1 zu sehen, d.h. die Komponenten von Form1 sind optisch vor dem Form2 zu sehen und verdecken somit einige Teile von Form2!

Ich will aber, das sich Form2 als eigenständiges Fenster davor, vor Form1 öffnet!

Muß ich da vielleicht in den Eigenschaften der Formulare noch speziell auswählen?

Habe bisher nur IsMdiContainer auf True bzw. False gesetzt...
Entsprechender Code:
Code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim cf As New Form2()
f2.MdiParent = Me
f2.Show()
End Sub
 

Dario Linsky

Erfahrenes Mitglied
Du solltest die einzelnen Steuerelemente im MDI-Container nicht wild verstreut platzieren, sondern an den Rändern ausrichten. Ich schätze mal, dass es daran liegen wird.
 

magic_halli

Erfahrenes Mitglied
Also die Steuerelemente an den Ränder ausrichten... Hab ich probiert, aber das ist`s nicht - kann ich mir auch nicht vorstellen, denn ich will doch meine Benutzeroberflächen selbst bestimmen, vom Aussehen her!

Muß man in den Eigenschaften von Form1(Mainform) noch irgendeine Option einstellen/verstellen?
 

Dario Linsky

Erfahrenes Mitglied
Doch, das gibt Probleme. Der Bereich, in dem das MDI-Kindformular angezeigt wird, ist ja ein bestimmter Bereich (ClientArea) innerhalb des Formulars. Wenn Du einfach Formulare wild da reinsetzt, dann liegen diese über der ClientArea. Wenn Du die Steuerelemente so einstellst, dass die Listbox beispielsweise direkt am linken Rand des Formulars sitzt, nimmt diese den ganzen Platz am linken Rand ein und die ClientArea wird entsprechend eingeschränkt.
Ist ja auch logisch, denn wie soll die viereckige ClientArea verkleinert werden, wenn mitten im Formular irgendein Steuerelement darübergelegt worden ist?
 

Dario Linsky

Erfahrenes Mitglied
Das ist doch genau das, was ich meine. Die Steuerelemente haben eine Eigenschaft, mit denen Du sie am Rand des Formulars ausrichten kannst. Dann verkleinert sich auch die ClientArea.
Die Eigenschaft heisst Align, wenn ich mich richtig erinnere.
 

magic_halli

Erfahrenes Mitglied
Zu den einzelnen Steuerelementen gibts kein Align... Es gibt jeweils nur TextAlign und ImageAlign. Ich habe dann noch bei Anchor und Dock bisl probiert, aber alles ohne Erfolg. Das zweite Form öffnet sich noch immer hinter den Steuerelementen.