Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einführung
2 Grundlagen der Sprachsyntax
3 Klassendesign
4 Weitere Datentypen
5 Multithreading
6 Collections und LINQ
7 Eingabe und Ausgabe
8 Anwendungen: Struktur und Installation
9 Code erstellen und debuggen
10 Einige Basisklassen
11 Windows-Anwendungen erstellen
12 Die wichtigsten Steuerelemente
13 Tastatur- und Mausereignisse
14 MDI-Anwendungen
15 Grafiken mit GDI+
16 Drucken
17 Entwickeln von Steuerelementen
18 Programmiertechniken
19 WPF – Grundlagen
20 Layoutcontainer
21 WPF-Steuerelemente
22 Konzepte von WPF
23 Datenbankverbindung mit ADO.NET
24 Datenbankabfragen mit ADO.NET
25 DataAdapter
26 Offline mit DataSet
27 Datenbanken aktualisieren
28 Stark typisierte DataSets
A Anhang: Einige Übersichten
Stichwort

Jetzt Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Visual Basic 2008 von Andreas Kuehnel, Stephan Leibbrandt
Das umfassende Handbuch
Buch: Visual Basic 2008

Visual Basic 2008
3., aktualisierte und erweiterte Auflage, geb., mit DVD
1.323 S., 49,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1171-0
Pfeil 14 MDI-Anwendungen
Pfeil 14.1 Das MDI-Hauptfenster
Pfeil 14.2 Die Subfenster
Pfeil 14.3 Zugriff auf die Subfenster
Pfeil 14.3.1 Alle Subfenster
Pfeil 14.3.2 Aktive Subfenster
Pfeil 14.3.3 Subfenster eines bestimmten Typs
Pfeil 14.4 Menü einer MDI-Anwendung
Pfeil 14.4.1 Subfenster anordnen
Pfeil 14.4.2 Subfenster mit eigenen Menüs
Pfeil 14.5 Symbol- und Statusleiste des Subfensters
Pfeil 14.6 Die Liste der geöffneten untergeordneten Fenster
Pfeil 14.7 Beispiel einer MDI-Anwendung


Rheinwerk Computing - Zum Seitenanfang

14.7 Beispiel einer MDI-Anwendung topZur vorigen Überschrift

Das folgende Beispiel enthält einige der vorher besprochenen Elemente. Der Code beschränkt sich auf das Wesentliche und hat neben den MDI-typischen Anweisungen keine weitere Funktionalität. Insbesondere kann über das Menü nichts gespeichert, beendet oder bearbeitet werden.

Das Hauptmenü enthält zwei Menüelemente: Datei und Fenster. Datei hat ein Untermenü mit den beiden Punkten Neu und Beenden. Fenster ist nach dem Start der Anwendung deaktiviert und wird erst beim Öffnen des ersten Subfensters aktiviert. Falls zur Laufzeit alle Subfenster geschlossen werden, muss Fenster auch wieder deaktiviert werden. Den dazu erforderlichen Code führen wir bei der Auslösung des Ereignisses MdiChildActivate aus, das nicht nur bei der Aktivierung, sondern zusätzlich auch beim Schließen eines Subfensters auftritt. Im Ereignishandler wird die Eigenschaft ActiveMdiChild überprüft: Sie liefert Nothing, wenn kein Subfenster geöffnet ist.

Das Schließen des MDI-Haupt- und der MDI-Subfenster erfordert die ausdrückliche Bestätigung des Anwenders innerhalb des Ereignishandlers von FormClosing des Subfensters. Wird bei einem Dialog Cancel angeklickt, verhindert das das Schließen als Ganzes. Ein zusätzlicher FormClosing-Ereignishandler für das Hauptfenster würde mit e.Cancel = True nach der Abarbeitung aller Subfenster starten.

Das Subfenster hat eine Menüleiste mit den Elementen Datei und Bearbeiten, die in das Menü des Hauptfensters integriert werden. Die einzelnen Menüelemente sollen nicht an das Untermenü angehängt, sondern konventionsgemäß platziert werden, d. h. zuerst Neu, dann Speichern und Speichern unter und zum Schluss Beenden, sowie Bearbeiten zwischen den Menüs Datei und Fenster. Erreicht wird das durch die entsprechenden Einstellungen von MergeAction und MergeIndex im Eigenschaftsfenster für die einzuhängenden Menüpunkte.

Das Menü Bearbeiten, das zur Menüleiste des Subfensters gehört, soll sich zwischen Datei und Fenster des Hauptfensters positionieren. Auch das wird durch die dazu erforderlichen Eigenschaftseinstellungen im Eigenschaftsfenster bewirkt.

Einen Nebeneffekt werden Sie feststellen, wenn Ihr Subfenster eine Menüleiste hat: Nach dem Zusammenführen wird im Subfenster auch dann die Menüleiste angezeigt, wenn sie aufgrund des Zusammenführens leer ist. Wenn Sie das stört, legen Sie für das ToolStripMenu-Objekt Visible=False fest.

Abbildung 14.3 Layout des Beispiels MDI


'...\MDI\MDI\Hauptfenster.vb

Public Class Hauptfenster 
  Private Sub Neu_Click(ByVal sender As Object, ByVal e As EventArgs) _ 
  Handles Neu.Click 
    Dim frm As New Subfenster(Me) 
    frm.Show() 
  End Sub

  Private Sub Anordnung(ByVal sender As Object, ByVal e As EventArgs) _ 
  Handles Überlappend.Click, Nebeneinander.Click, Untereinander.Click 
    If sender Is Überlappend Then 
      Me.LayoutMdi(MdiLayout.Cascade) 
    ElseIf sender Is Untereinander Then 
      Me.LayoutMdi(MdiLayout.TileHorizontal) 
    Else 
      Me.LayoutMdi(MdiLayout.TileVertical) 
    End If 
  End Sub

  Private Sub Kind(ByVal sender As Object, ByVal e As EventArgs) _ 
  Handles MyBase.MdiChildActivate 
    Fenster.Enabled = ActiveMdiChild IsNot Nothing 
  End Sub 
End Class

'...\MDI\MDI\Subfenster.vb

Public Class Subfenster 
  Private Shared Anzahl As Integer 
  Sub New(ByVal haupt As Form) 
    InitializeComponent() 
    If haupt Is Nothing OrElse Not haupt.IsMdiContainer Then _ 
      Throw New ArgumentException("Kein MDI-Fenster.") 
    Me.MdiParent = haupt 
    Anzahl += 1 
    Me.Text = "Dokument " & Anzahl 
  End Sub

  Private Sub Schliessen(sender As Object, e As FormClosingEventArgs) _ 
  Handles MyBase.FormClosing 
    If Not Inhalt.Modified Then Return 
    Dim erg As DialogResult = MessageBox.Show( _ 
      "Beenden?", "Ende " & Text, _ 
      MessageBoxButtons.OKCancel, _ 
      MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) 
    e.Cancel = erg <> Windows.Forms.DialogResult.OK 
  End Sub 
End Class



Ihre Meinung

Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.

<< zurück
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: Visual Basic 2008
Visual Basic 2008
Jetzt Buch bestellen


 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Rheinwerk-Shop: Visual Basic 2012






 Visual Basic 2012


Zum Rheinwerk-Shop: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Rheinwerk-Shop: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Rheinwerk-Shop: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Rheinwerk-Shop: Windows Presentation Foundation






 Windows Presentation
 Foundation


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern