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

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 11 Windows-Anwendungen erstellen
Pfeil 11.1 Entwicklungsumgebung
Pfeil 11.2 Eine erste Windows-Anwendung
Pfeil 11.3 Das Codegerüst einer Windows-Anwendung
Pfeil 11.3.1 Einstellungen
Pfeil 11.3.2 Automatisch generierter Startcode
Pfeil 11.3.3 Nachrichtenschleife
Pfeil 11.3.4 Dateien *.vb und *.Designer.vb
Pfeil 11.4 Ereignisse grafischer Windows-Komponenten
Pfeil 11.4.1 Syntax und Nomenklatur
Pfeil 11.4.2 Ereignisse mit Ereignisdaten
Pfeil 11.4.3 Ereignisbehandlung in Visual Studio
Pfeil 11.4.4 Ereignisbehandlung mit OnEreignis-Methoden
Pfeil 11.5 Die Basisklassen einer Form
Pfeil 11.5.1 Control
Pfeil 11.5.2 ScrollableControl
Pfeil 11.5.3 ContainerControl
Pfeil 11.6 Eigenschaften einer Form
Pfeil 11.6.1 Rahmendarstellung
Pfeil 11.6.2 Formspezifisches Symbol
Pfeil 11.6.3 Schaltflächen der Titelleiste
Pfeil 11.6.4 Transparenz
Pfeil 11.6.5 Immer obenauf
Pfeil 11.6.6 Mauszeiger verändern
Pfeil 11.6.7 Farbe (Color)
Pfeil 11.6.8 Schriftart (Font)
Pfeil 11.6.9 Abmessungen einer Form
Pfeil 11.6.10 Position eines Fensters
Pfeil 11.6.11 Anzeigezustand eines Fensters
Pfeil 11.6.12 Arbeitsfläche des Fensters (Clientbereich)
Pfeil 11.6.13 Fokussierreihenfolge
Pfeil 11.6.14 Standardschaltflächen eines Fensters
Pfeil 11.6.15 Unterelemente (ControlsCollection)
Pfeil 11.6.16 Eigenschaften des Form-Objekts
Pfeil 11.7 Ereignisse einer Form
Pfeil 11.7.1 Erzeugen eines Fensters
Pfeil 11.7.2 Größenänderung einer Form
Pfeil 11.7.3 Schließen eines Fensters
Pfeil 11.8 Anwendungen mit mehreren Fenstern
Pfeil 11.8.1 Neue Formulare hinzufügen
Pfeil 11.8.2 Lebenszyklus von Formularen
Pfeil 11.8.3 Mehrere Fenster verwalten
Pfeil 11.8.4 Begrüßungsfenster (Splash)
Pfeil 11.9 Modale Dialogfenster
Pfeil 11.9.1 Layout eines Dialogfensters
Pfeil 11.9.2 Rückgabewert
Pfeil 11.9.3 Eine Form modal öffnen
Pfeil 11.10 Meldungsfenster mit MessageBox
Pfeil 11.10.1 Anzeige mit Show
Pfeil 11.10.2 Rückgabewert der Meldungsfenster
Pfeil 11.11 Die Klasse Application
Pfeil 11.11.1 Die Datei AssemblyInfo.vb
Pfeil 11.11.2 Wartende Ereignisse abrufen (DoEvents)
Pfeil 11.11.3 Eigenschaften und Methoden


Galileo Computing - Zum Seitenanfang

11.11 Die Klasse Application Zur nächsten ÜberschriftZur vorigen Überschrift

In den vorangegangenen Abschnitten haben Sie einige Mitglieder der Klasse Application kennengelernt und eingesetzt. Das Wichtigste war sicherlich die Methode Run, um die Nachrichtenschleife zu starten. Der Typ Application im Namensraum System.Windows.Forms stellt noch eine Reihe weiterer statischer Methoden und Eigenschaften zur Verfügung, um allgemeine Informationen der aktuellen Anwendung abzurufen.


Galileo Computing - Zum Seitenanfang

11.11.1 Die Datei AssemblyInfo.vb Zur nächsten ÜberschriftZur vorigen Überschrift

Einige allgemeine Informationen können in die Datei AssemblyInfo.vb als Attribute eingetragen werden, beispielsweise die Produktversion oder der Produktname. Nachfolgend sehen Sie einen Auszug aus dieser Datei.

... 
<Assembly: AssemblyTitle("Meine Anwendung")> 
<Assembly: AssemblyDescription("")> 
<Assembly: AssemblyConfiguration("")> 
<Assembly: AssemblyCompany("Tollsoft")> 
<Assembly: AssemblyProduct("Tollsoft's Massenprodukt")> 
<Assembly: AssemblyCopyright("Copyright @ Tollsoft 2008")> 
<Assembly: AssemblyTrademark("")> 
<Assembly: AssemblyCulture("")> 
...

Zur Laufzeit lassen sich die Einträge in der Datei AssemblyInfo.vb auswerten. Mit

MessageBox.Show(Application.ProductName)

können Sie zum Beispiel den Eintrag unter AssemblyProduct abrufen und in einem Meldungsfenster ausgeben.


Galileo Computing - Zum Seitenanfang

11.11.2 Wartende Ereignisse abrufen (DoEvents) Zur nächsten ÜberschriftZur vorigen Überschrift

Ist einem Ereignis ein Ereignishandler zugeordnet, wird dieser ausgeführt. Er ist aber nichts anderes als eine Methode, die vom Anfang bis zum Ende ausgeführt wird, bevor die Kontrolle wieder an die aufrufende Methode übergeben wird.

Wird beispielsweise ein Mausereignis ausgelöst, während die Windows-Anwendung damit beschäftigt ist, ein anderes, in der Ausführungszeit länger andauerndes Ereignis abzuarbeiten, dann wird das Mausereignis in einer Warteschlange gepuffert. Erst wenn der laufende Ereignishandler vollständig abgearbeitet ist, wird der nächste aus dem Puffer geholt. Die Folge ist ein nicht unbedeutendes Problem: Ein Ereignishandler, dessen Ausführung eine längere Zeit in Anspruch nimmt, wird die Bearbeitung der anderen eingehenden Ereignisse blockieren. Wie kann dieses Problem gelöst werden?

Eine mögliche Lösung ist ein weiterer Thread. Die Programmierung kann aber im Einzelfall ziemlich komplex werden und sollte daher nicht als Nonplusultra angesehen werden. Einfacher ist es, die Ausführung der laufenden Ereignisprozedur zu unterbrechen und während der Unterbrechung das nächste anstehende Ereignis aus dem Puffer zu holen und zu bearbeiten. Genau das leistet die statische Methode DoEvents der Klasse Application.

Wir wollen uns die Wirkungsweise dieser Methode an einem Beispielprogramm ansehen. Abbildung 11.13 zeigt das Layout. Das Formular enthält eine Textbox und drei Schaltflächen. Nach dem Anklicken der Schaltfläche Start wird im Ereignishandler des Ereignisses Click eine Schleife von 0 bis 1.000.000 durchlaufen und der aktuelle Zählerstand in die Textbox eingetragen. Die Abarbeitung der Schleife nimmt eine deutlich spürbare Zeitspanne in Anspruch, während der – wenn wir nicht mit DoEvents die Nachrichtenschleife zum Zug kommen lassen – keine der beiden anderen Schaltflächen auf das Anklicken eine Reaktion zeigt. Die Schaltfläche Meldung soll nur ein einfaches Meldungsfenster anzeigen, und die Schaltfläche Beenden soll die Laufzeitumgebung der Anwendung unabhängig vom aktuellen Stand des Schleifenzählers schließen.

Abbildung 11.13 Formular des Programms »DoEvents«

Der Programmcode dieses Beispiels sieht wie folgt aus:


'...\WinForm\Ereignisse\DoEvents.vb

Public Class DoEvents

  Private flag As Boolean

  Private Sub Start_Click(sender As Object, e As EventArgs) _ 
  Handles Start.Click 
    Meldung.Focus() 
    For i As Integer = 0 To 1000000 
      ' unterbrechen und anstehende Ereignisse aus dem Puffer holen 
      Application.DoEvents() 
      If flag Then Exit For 
      Zähler.Text = i.ToString() 
      Zähler.Refresh() 
    Next 
  End Sub

  Private Sub Meldung_Click(sender As Object, e As EventArgs) _ 
  Handles Meldung.Click 
    MessageBox.Show("Textausgabe unterbrochen", Application.ProductName) 
  End Sub

  Private Sub Beenden_Click(sender As Object, e As EventArgs) _ 
  Handles Beenden.Click 
    Me.flag = True 
    Application.Exit() 
  End Sub

End Class

Der DoEvents-Aufruf sorgt dafür, dass die Ereignishandler der beiden anderen Schaltflächen eine Chance haben, die CPU in Anspruch zu nehmen. Wenn Sie den DoEvents-Aufruf auskommentieren, muss die Schleife zuerst bis zum Endwert durchlaufen werden. Durch das Feld flag wird bei Beendigung der Anwendung die Schleife auch beendet, und sie läuft nicht weiter nach dem Schließen aller Fenster und der Nachrichtenschleife.

Der Fokus sollte vor dem Eintritt in die Schleife auf einen anderen Button gelegt werden. Wenn Sie das versäumen, müssen vor dem Anzeigen der Meldung bzw. dem Schließen noch andere Ereignisse abgearbeitet werden, was zur Folge hat, dass die entsprechende Schaltfläche zweimal angeklickt werden muss.


Galileo Computing - Zum Seitenanfang

11.11.3 Eigenschaften und Methoden topZur vorigen Überschrift

Tabelle 11.17 zeigt einige der Eigenschaften und Methoden der Klasse Application.


Tabelle 11.17 Eigenschaften und Methoden des Typs »Application« (Auszug, E = Eigenschaft, M = Methode)

Eigenschaft/Methode Beschreibung Typ

CompanyName

Der Firmenname, der dieser Anwendung zugeordnet ist

E

ExecutablePath

Pfadangabe einschließlich des Dateinamens der ausführbaren Datei, die zum Starten der Anwendung verwendet wurde

E

ProductName

Der Produktname, der dieser Anwendung zugeordnet ist

E

ProductVersion

Die Produktversion, die dieser Anwendung zugeordnet ist.

E

StartupPath

Angabe des Pfades, in dem sich die ausführbare Datei der Anwendung befindet, ohne die ausführbaren Datei selbst

E

DoEvents

Verarbeitet alle Windows-Meldungen, die sich derzeit in der Nachrichtenwarteschlange befinden.

M

EnableVisualStyles

Ermöglicht die Darstellung im XP-Stil.

M

Exit

Schließt alle Anwendungsfenster, sobald alle Nachrichten verarbeitet wurden.

M

ExitThread

Verlässt die Nachrichtenschleife für den aktuellen Thread und schließt alle Fenster des Threads.

M

Run

Beginnt die Ausführung einer Nachrichtenschleife einer Anwendung für den aktuellen Thread.

M




Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
  Zum Katalog
Zum Katalog: Visual Basic 2008
Visual Basic 2008
Jetzt bestellen


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

 Buchempfehlungen
Zum Katalog: Visual Basic 2012






 Visual Basic 2012


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
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