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.3 Zugriff auf die Subfenster Zur nächsten ÜberschriftZur vorigen Überschrift


Rheinwerk Computing - Zum Seitenanfang

14.3.1 Alle Subfenster Zur nächsten ÜberschriftZur vorigen Überschrift

Sehen Sie sich noch einmal die Anweisung an, mit der neue Subfenster erstellt und angezeigt werden:

Dim frm As New Subfenster(Me) 
frm.Show()

Wird das erste Subfenster erzeugt, kann dieses mit frm angesprochen werden. Mit dem Erzeugen des zweiten Subfensters wird die Objektvariable frm »umgebogen« und zeigt auf die Startadresse des zweiten Subfensters. Das erste wird zwar nicht mehr unter frm referenziert, ist aber weiterhin im Hauptfenster zu sehen, weil das Objekt nicht zerstört worden ist. Wie können Sie auf die einzelnen Subfenster zugreifen?

Damit das Hauptfenster die Subfenster anzeigen kann, verwaltet es die Referenzen aller geöffneten Subfenster in einem Array, auf das Sie über die Eigenschaft MdiChildren des MDI-Hauptfensters zugreifen können.


Public ReadOnly Property MdiChildren As Form()

Die Eigenschaft bietet sich dann an, wenn für alle Subfenster dieselben Operationen ausgeführt werden müssen – beispielsweise, um die darin enthaltenen Daten vor dem Schließen der Anwendung zu speichern.

Das Schließen von Subfenstern hinterlässt keine Lücken oder Nullreferenzen, sodass ein Durchlauf durch das ganze Array exakt alle gerade geöffneten Fenster erfasst.

For Each kind As Form in Me.MdiChildren 
  ' Anweisungen 
Next

Die Überprüfung auf Nothing ist nicht notwendig.


Rheinwerk Computing - Zum Seitenanfang

14.3.2 Aktive Subfenster Zur nächsten ÜberschriftZur vorigen Überschrift

In der Menüleiste eines MDI-Hauptfensters findet man normalerweise immer die Menüpunkte Speichern und Speichern unter..., um die Eingaben im aktiven Subfenster zu sichern. Die Eigenschaft ActiveMdiChild des MDI-Hauptfensters speichert die Referenz auf das selektierte MDI-Subfenster. Nehmen wir an, dass das Subfenster eine Textbox enthält; mittels MultiLine=True sowie Dock=DockStyle.Fill füllt sie den gesamten Clientbereich. Mit

Dim frm As Subfenster = CType(Me.ActiveMdiChild, Subfenster)

besorgen Sie sich die Referenz auf das aktive Subfenster. Die Typumwandlung mit CType sollte eigentlich zwingend sein, da ActiveMdiChild vom Typ Form und nicht vom Typ Subfenster ist.


Hinweis
Der Zugriffsmodifizierer der Steuerelemente des Subfensters, auf die vom Hauptfenster aus zugegriffen wird, muss Friend oder Public sein. Im Eigenschaftsfenster können Sie die Zugriffsmodifizierer auch mit der Eigenschaft Modifiers passend einstellen.


Je nach Art des Zugriffs auf ActiveMdiChild kann es erforderlich sein zu prüfen, ob überhaupt ein Subfenster geöffnet ist. Wenn aktuell kein MDI-Subfenster geöffnet ist, hat die Eigenschaft ActiveMdiChild den Wert Nothing. Das sollten Sie unbedingt prüfen.

If Me.ActiveMdiChild IsNot Nothing Then 
  Dim frm As SubForm = CType(Me.ActiveMdiChild, SubForm) 
  frm.textBox1.Text = "......." 
End If

Rheinwerk Computing - Zum Seitenanfang

14.3.3 Subfenster eines bestimmten Typs topZur vorigen Überschrift

MDI-Anwendungen haben meistens nur einen Subfenstertyp, aber das ist nicht zwingend. Daher müssen Sie davon ausgehen, dass zur Laufzeit mehrere Typen innerhalb des Hauptfensters geöffnet sein können und dass das von MdiChildren zurückgelieferte Array mehrere Typen enthalten kann. Soll gezielt auf das Steuerelement eines untergeordneten Fensters zugegriffen werden, muss daher zuerst der Typ mit dem Is-Operator überprüft werden.

For Each kind As Form in Me.MdiChildren 
  If TypeOf kind Is Subfenster Then 
    CType(kind,Subfenster).textBox1.Text = "......." 
  Else If TypeOf kind Is Subfenster2 Then 
    ' Anweisungen 
  End If 
Next


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