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


Galileo 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.


Galileo 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

Galileo 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


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 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: Einstieg in Visual Basic 2008





 Einstieg in
 Visual Basic 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