Strips und MDI

MDI-Anwendung

Multiple Document Interface (MDI)

image.jpg

© PC Magazin

MDI-Benutzeroberfläche: Das Elternfenster verwaltet alle Kindfenster.

Die Methode, um Bilder anzuzeigen, betrachten Sie bitte genauer: Der Benutzer soll über die Funktion Bild anzeigen nacheinander seine Fotos in separaten Fenstern anzeigen lassen. Allerdings sollen die Fenster vom Programm selbst verwaltet werden. Dieses Konzept der grafischen Benutzeroberfläche bezeichnet man als Multiple Document Interface, kurz MDI. Eine MDI-Anwendung zeichnet sich dadurch aus, dass sie mehrere Kind-Fenster verwaltet.

Diese verhalten sich zum Anwendungsfenster praktisch so, wie sich das Anwendungsfenster zum Desktop verhält. Der Benutzer kann die untergeordneten Fenster innerhalb des Anwendungsfensters nach Belieben anordnen, sie ragen aber nicht über dessen Rand hinaus. Er kann ein Fenster per Mausklick in den Vordergrund holen oder alternativ mit der Tastenkombination [Strg-Tab] zwischen den Fenstern wechseln.

Der Standard und das Gegenstück zur MDI-Oberfläche ist das Single Document Interface (SDI). Hier erhält jedes Dokument ein eigenes Hauptfenster, das sich dann auch in der Taskleiste bemerkbar macht. Die Programmierung einer MDI-Oberfläche mit Visual Basic ist nicht weiter schwer. Sie machen Ihr Hauptformular zum Eltern-Fenster, indem Sie die IsMdiContainer-Eigenschaft auf True setzen.

Auf die aktuelle Fenster-Instanz greifen Sie dabei mit Me zu: Me.IsMdiContainer = True. Sie brauchen diese Anweisung nicht einmal zu codieren, sondern setzen den entsprechenden Wert im Eigenschaftenfenster. Um ein Fenster zum Kind-Fenster zu machen, weisen Sie der Eigenschaft MdiParent die Instanz des Elternfensters zu.

Mit der Eigenschaft IsMdiChild fragen Sie im Code ab, ob ein Fenster ein untergeordnetes MDI-Formular ist. Diese Eigenschaft lässt sich jedoch nur lesen, nicht setzen. Hier der Code der Ereignismethode für die Funktion Bild anzeigen:

Dim OFD As New OpenFileDialog
OFD.InitialDirectory = My.
Computer.FileSystem.SpecialDirectories.MyPictures
OFD.Filter = "Bilddateien
(*.jpg, *.gif, *.bmp, *.png)|*.jpg;*.gif;*.bmp;*.png|Alle Dateien (*.*)|*.*"
If (OFD.ShowDialog() = Windows.
Forms.DialogResult.OK) Then
Dim f As New Form
f.MdiParent = Me
f.BackgroundImage = Image.
FromFile(OFD.FileName)
f.Size = New Size(150, 150)
f.Show()
End If

Durch Aufruf der Methode ShowDialog() der OpenFileDialog-Instanz öffnen Sie den Windows-Dialog zum Auswählen einer Datei. Mit der Eigenschaft InitialDirectory legen Sie das voreingestellte Verzeichnis fest - hier den Bilderordner - und mit der Eigenschaft Filter die anzuzeigenden Datentypen. Für die Bildanzeige instanzieren Sie ein Form-Objekt (Dim f As New Form) und machen es zum MDI-Kindfenster (f.MdiParent = Me).

Namen und Pfad des anzuzeigenden Bildes erhalten Sie über die Eigenschaft FileName des OpenFileDialog-Objekts. Schließlich bringen Sie das Formular mit der Show()-Methode zur Anzeige. Das Ergebnis sehen Sie in der nebenstehenden Abbildung MDI-Benutzeroberfläche.

Standardeinträge einfügen

Wenn Sie für ein Programm mehrere geläufige Menüpunkte wie Datei, Bearbeiten, etc. benötigen, machen Sie es sich sogar noch einfacher. Klicken Sie im Formular auf eine freie Stelle des MenuStrip und öffnen Sie über das kleine Smarttag dessen Aufgabenliste. Verwenden Sie den Befehl Standardeinträge einfügen.

Visual Studio fügt daraufhin eine Reihe von Menüpunkten ein. Der gleiche Befehl steht auch im Kontextmenü des MenuStrip-Elements im Komponentenfach zur Verfügung. Menüeinträge, die Sie nicht brauchen, löschen Sie einfach.

ToolStripContainer

Damit Ihre Programm-Benutzer eine Menü- oder eine Symbolleiste auch verschieben können, müssen Sie diese kunstgerecht in einen so genannten ToolStripContainer einbetten. Dazu wählen Sie in der Aufgabenliste den entsprechenden Befehl aus. Davon sei hier allerdings besser abgeraten, weil das recht sperrige ToolStripContainer-Steuerelement sich beim Entwurf als sehr unhandlich erweist.

Mehr zum Thema

HTML 5
Webgestaltung

Google Web Designer ist spezialisiert auf HTML5. Ein Vorteil dieses Standards ist das einfache Einbinden von Videos mit dem Element video. Wir zeigen…
Wir verraten, wie Sie Fritzboxen und andere Router vor Hackern schützen.
Fritzbox, Asus, Belkin und Co.

Fritzbox, Asus, Belkin oder DLink - die Liste der geknackten Router ist lang. Hacker stahlen Passwörter oder NAS-Daten. So machen Sie Ihren Router…
Wir führen Sie zur eigenen Windows-App - unserem PC-Magazin-RSS-Feed.
C# und XAML

Wir zeigen, wie Sie Windows 8.1 Apps selbst programmieren können. Lernen Sie das App erstellen an Hand unseres Beispiels: dem RSS-Feed von PC…
Windows Tipps & Tricks: Benutzerrechte unter Windows 8.1
Programme richtig installieren

Wir zeigen Ihnen, wie Sie sich unter Windows 8.1 alle Benutzerrechte verschaffen und Programme richtig installieren.
Windows 8: Starbildschirm
Microsoft Project Siena

Erstellen Sie sich selbst eine App für Windows 8, die auf alle Funktionen Ihres Tablets zugreifen kann, inklusive Kamera, Mikrofon und Lautsprecher.…