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

Inhaltsverzeichnis
Vorwort zur 6. Auflage
1 Allgemeine Einführung in .NET
2 Grundlagen der Sprache C#
3 Das Klassendesign
4 Vererbung, Polymorphie und Interfaces
5 Delegates und Ereignisse
6 Strukturen und Enumerationen
7 Fehlerbehandlung und Debugging
8 Auflistungsklassen (Collections)
9 Generics – Generische Datentypen
10 Weitere C#-Sprachfeatures
11 LINQ
12 Arbeiten mit Dateien und Streams
13 Binäre Serialisierung
14 XML
15 Multithreading und die Task Parallel Library (TPL)
16 Einige wichtige .NET-Klassen
17 Projektmanagement und Visual Studio 2012
18 Einführung in die WPF und XAML
19 WPF-Layout-Container
20 Fenster in der WPF
21 WPF-Steuerelemente
22 Elementbindungen
23 Konzepte von WPF
24 Datenbindung
25 Weitere Möglichkeiten der Datenbindung
26 Dependency Properties
27 Ereignisse in der WPF
28 WPF-Commands
29 Benutzerdefinierte Controls
30 2D-Grafik
31 ADO.NET – Verbindungsorientierte Objekte
32 ADO.NET – Das Command-Objekt
33 ADO.NET – Der SqlDataAdapter
34 ADO.NET – Daten im lokalen Speicher
35 ADO.NET – Aktualisieren der Datenbank
36 Stark typisierte DataSets
37 Einführung in das ADO.NET Entity Framework
38 Datenabfragen des Entity Data Models (EDM)
39 Entitätsaktualisierung und Zustandsverwaltung
40 Konflikte behandeln
41 Plain Old CLR Objects (POCOs)
Stichwort

Download:
- Beispiele, ca. 62,4 MB

Buch bestellen
Ihre Meinung?

Spacer
Visual C# 2012 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual C# 2012

Visual C# 2012
Rheinwerk Computing
1402 S., 6., aktualisierte und erweiterte Auflage 2013, geb., mit DVD
49,90 Euro, ISBN 978-3-8362-1997-6
Pfeil 20 Fenster in der WPF
Pfeil 20.1 Hosts der WPF
Pfeil 20.2 Fenster vom Typ »Window«
Pfeil 20.2.1 Mehrere Fenster in einer Anwendung
Pfeil 20.3 Fenster vom Typ »NavigationWindow«
Pfeil 20.3.1 Das »Page«-Element
Pfeil 20.4 Hosts vom Typ »Frame«
Pfeil 20.5 Navigation zwischen den Seiten
Pfeil 20.5.1 Navigation mit »HyperLink«
Pfeil 20.5.2 Der Verlauf der Navigation – das Journal
Pfeil 20.5.3 Navigation mit »NavigationService«
Pfeil 20.5.4 Navigation im Internet
Pfeil 20.5.5 Navigieren mit dem Ereignis »RequestNavigate« des »HyperLink«-Elements
Pfeil 20.6 Datenübergabe zwischen den Seiten
Pfeil 20.6.1 Datenübergabe mit der Methode »Navigate«
Pfeil 20.7 Nachrichtenfenster mit »MessageBox«
Pfeil 20.7.1 Die Methode »MessageBox.Show«

Galileo Computing - Zum Seitenanfang

20.7 Nachrichtenfenster mit »MessageBox«Zur nächsten Überschrift

Sicherlich sind Ihnen Dialoge wie der in Abbildung 20.5 gezeigte geläufig.

Abbildung

Abbildung 20.5 Ein typisches Nachrichtenfenster

Nachrichtenfenster werden immer modal angezeigt. Das heißt, es kann kein anderes Fenster der Anwendung aktiviert werden, bis das modale Fenster geschlossen wird. Weil Dialoge wie der gezeigte sehr häufig zur einfachen Interaktion mit dem Anwender oder auch nur zur Bereitstellung von Informationen in Anwendungen eingesetzt werden, ist im Namespace System.Windows eine Klasse vordefiniert, mit der bereits sehr viele Anforderungen erfüllt werden können. Es handelt sich um MessageBox. Der abgebildete Dialog beruht auf der folgenden Anweisung:

MessageBox.Show("Wollen Sie die Anwendung schließen?", 
"Beenden",
MessageBoxButton.YesNo,
MessageBoxImage.Question,
MessageBoxResult.No);

Listing 20.20 Der Code des Dialogs in Abbildung 20.5

Man braucht eigentlich kaum erklärende Worte zu verlieren, denn der Code beschreibt sich nahezu von selbst: Im ersten Argument wird der Meldungstext übergeben, im zweiten die Beschriftung der Titelleiste, im dritten die anzuzeigenden Schaltflächen. Das vierte Argument beschreibt das Symbol im Clientbereich, und das fünfte und letzte Argument gibt vor, welche Schaltfläche nach dem Start der Anzeige fokussiert werden soll.


Galileo Computing - Zum Seitenanfang

20.7.1 Die Methode »MessageBox.Show«Zur vorigen Überschrift

MessageBox verfügt nur über eine typspezifische Methode: Es ist die vielfach überladene statische Methode Show, die mit insgesamt 12 Überladungen aufwartet. Die einfachste ist die, die nur die Zeichenfolge des Meldungstextes entgegennimmt:

MessageBox.Show("Visual C# macht Spaß");

Ein solches Nachrichtenfenster verfügt nur über eine OK-Schaltfläche, die Titelleiste ist leer. Klickt der Anwender auf die Schaltfläche, wird das Meldungsfenster automatisch geschlossen.

Optisch wirkt eine leere Titelleiste stümperhaft. Deshalb werden Sie bestimmt in allen Fällen einen Text vorsehen. Häufig verwendet man dazu den Namen der Anwendung.

In einem dritten Argument können Sie die im Meldungsfenster angezeigten Schaltflächen festlegen. Dazu übergeben Sie eine der in der Enumeration MessageBoxButton vordefinierten Konstanten (siehe Tabelle 20.4).

Tabelle 20.4 Konstanten der Enumeration »MessageBoxButton« (Auszug)

Konstante Beschreibung

OK

Das Meldungsfenster enthält die OK-Schaltfläche.

OKCancel

Das Meldungsfenster enthält die OK- und Abbrechen-Schaltflächen.

YesNoCancel

Das Meldungsfenster enthält die Ja-, Nein- und Abbrechen-Schaltflächen.

YesNo

Das Meldungsfenster enthält die Ja- und Nein-Schaltflächen.

In welcher Sprache die Schaltflächen beschriftet sind, hängt von der Sprachversion des Betriebssystems ab.

Um im linken Bereich des Meldungsfensters ein Symbol anzuzeigen, wählen Sie eine Konstante aus der folgenden Tabelle 20.5 aus.

Tabelle 20.5 Konstanten der Enumeration »MessageBoxImage«

Konstante Beschreibung

None

Zeigt kein Symbol an.

Hand

Zeigt ein Handsymbol.

Question

Zeigt ein Fragezeichen.

Exclamation

Zeigt ein Ausrufungszeichen.

Asterisk

Zeigt ein Sternchen.

Stop

Zeigt ein Stoppsymbol.

Error

Zeigt ein Fehlersymbol.

Warning

Zeigt ein Warnsymbol.

Information

Zeigt ein Informationssymbol.

Erzeugen Sie ein Meldungsfenster mit mehreren Schaltflächen, kommt der Wahl der vorfokussierten Schaltfläche eine besondere Bedeutung zu. Drückt nämlich der Anwender die Enter-Taste, entspricht das dem Klicken auf die vorfokussierte Schaltfläche. Daher sollte immer die Schaltfläche vorfokussiert werden, bei deren Klicken keine Nachteile entstehen, zum Beispiel durch den Verlust eingegebener, aber nicht gespeicherter Daten. Die Vorfokussierung erfolgt mit Hilfe der Enumeration MessageBoxResult.

Tabelle 20.6 Konstanten der Enumeration »MessageBoxResult«

Konstante Beschreibung

None

Gibt keinen Wert zurück.

OK

Der Anwender hat auf die Schaltfläche OK geklickt.

Cancel

Der Anwender hat auf die Schaltfläche Abbrechen geklickt.

Yes

Der Anwender hat auf die Schaltfläche Ja geklickt.

No

Der Anwender hat auf die Schaltfläche No geklickt.

Diese Aufzählung dient gleichzeitig als Rückgabewert der Show-Methode, denn schließlich muss nach dem Aufruf und dem Schließen des Nachrichtenfensters per Code geprüft werden, welche der angebotenen Schaltflächen der Anwender gedrückt hat. Nur für den Fall, dass das Meldungsfenster nur einen OK-Button hat, erübrigt sich die Auswertung.

Im folgenden Ereignishandler einer Schaltfläche wird ein Meldungsfenster angezeigt, das den Anwender um die Bestätigung bittet, ob er die Anwendung schließen möchte oder nicht. Der Code reagiert in Abhängigkeit von der im Meldungsfenster gewählten Schaltfläche.

string message = "Möchten Sie die Daten speichern?";
MessageBoxResult result= MessageBox.Show(message,
"Meine Anwendung",
MessageBoxButton.OKCancel,
MessageBoxImage.Question,
MessageBoxResult.OK);
if(result == MessageBoxResult.OK)
[...]
else
[...]

Listing 20.21 Auswertung mit »if-else«

In einer if-Anweisung wird der Rückgabewert überprüft. Hat der Anwender OK angeklickt, werden die Daten gespeichert, ansonsten kann eine andere Reaktion erfolgen. Wahrscheinlich wird in diesem Fall keine Reaktion erforderlich sein.

Alternativ könnte der gesamte if-Block auch durch switch-case ersetzt werden:

switch( result) {
case MessageBoxResult.OK:

// Daten speichern

break;
case MessageBoxResult.Cancel:

// andere Anweisungen

break;

}

Listing 20.22 Auswertung mit »switch«



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 C# 2012

Visual C# 2012
Jetzt bestellen


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

 Buchempfehlungen
Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: C++ Handbuch






 C++ Handbuch


Zum Katalog: C/C++






 C/C++


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2013
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.


[Rheinwerk Computing]

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