Galileo Computing < openbook > Galileo 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

Download:
- ZIP, ca. 12,3 MB
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
Galileo 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


Galileo 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



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






<< zurück
  Zum Katalog
Zum Katalog: Visual Basic 2008







Visual Basic 2008
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Tipp
Zum Katalog: Coding for Fun





 Coding for Fun


 Buchempfehlungen
Zum Katalog: Einstieg in Visual Basic 2008





 Einstieg in
 Visual Basic 2008


Zum Katalog: Einstieg in Visual C# 2008





 Einstieg in
 Visual C# 2008


Zum Katalog: Windows Presentation Foundation





 Windows Presentation
 Foundation


Zum Katalog: Einstieg in Visual C++ 2008





 Einstieg in
 Visual C++ 2008


Zum Katalog: Visual C# 2008





 Visual C# 2008


Zum Katalog: Videotraining - Visual C# 2008





 Videotraining -
 Visual C# 2008


Zum Katalog: Einstieg in PHP





 Einstieg in PHP


Zum Katalog: IT-Handbuch für Fachinformatiker





 IT-Handbuch für
 Fachinformatiker


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Galileo Press 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.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de