7.6 Ausgabe-Dialogfeld
Zur Darstellung einfacher Anzeigen oder Warnungen sowie für Benutzer-Abfragen müssen Sie kein aufwändiges Dialogfeld erzeugen und programmieren. Die Methode Show() der Klasse MessageBox, die wir in ihrer einfachen Version bereits kennengelernt haben, bietet eine Reihe von vorgefertigten Dialogfeldern, mit denen Sie bereits viele alltägliche Aufgaben erledigen können. Ein erstes Beispiel finden Sie im Projekt EingabeAusgabe, siehe Abbildung 7.19.
Private Sub cmdMsgBoxOkOnly_Click(...) Handles ...
MessageBox.Show("Gelesen? Dann bitte Ok drücken",
"Ok", MessageBoxButtons.OK)
End Sub
Listing 7.11 Projekt »EingabeAusgabe«, Einfache Ausgabe
Abbildung 7.19 Einfache Ausgabe mit Ok
Zur Erläuterung:
- Den ersten Parameter kennen wir schon, dabei handelt es sich um die eigentliche Nachricht des Ausgabe-Dialogfelds.
- Beim zweiten Parameter kann man den Text der Titelzeile des Ausgabe-Dialogfelds angeben.
- Beim dritten Parameter kann man auswählen, welcher Button bzw. welche Kombination aus Buttons im Ausgabe-Dialogfeld erscheinen soll. Dabei handelt es sich um eine Konstante aus der Enumeration MessageBoxButtons.
- Der vierte Parameter kann zur Auswahl eines Icons dienen, das im Ausgabe-Dialogfeld dargestellt wird und die Textnachricht visuell unterstützt. Dabei handelt es sich um eine Konstante aus der Enumeration MessageBoxIcon.
- Falls mehr als ein Button eingeblendet wird, dann sollte der Rückgabewert der Methode Show() untersucht werden. Dieser Rückgabewert ist eine Konstante aus der Enumeration DialogResult.
Abbildung 7.20 zeigt die Ausgabe mit dem Info-Zeichen (ebenfalls im Projekt EingabeAusgabe).
Abbildung 7.20 Ausgabe mit Info-Zeichen
Der zugehörige Code lautet:
Private Sub cmdMsgBoxInformation_Click(...) Handles ...
MessageBox.Show("Das ist eine Information",
"Info", MessageBoxButtons.OK,
MessageBoxIcon.Information)
End Sub
Listing 7.12 Projekt »EingabeAusgabe«, Info-Zeichen
Zur Erläuterung:
- Zusätzlich zum Button OK wird das Info-Zeichen angezeigt. Bei eingeschaltetem Lautsprecher ertönt der entsprechende Systemton.
Ein Beispiel mit Buttons für Ja und Nein sehen Sie in Abbildung 7.21.
Abbildung 7.21 Zwei Buttons zur Auswahl
Der zugehörige Code lautet:
Private Sub cmdMsgBoxYesNo_Click(...) Handles ...
Dim dr As DialogResult
dr = MessageBox.Show(
"Soll die Datei gesichert werden?",
"Sicherung", MessageBoxButtons.YesNo,
MessageBoxIcon.Question)
If dr = DialogResult.Yes Then
lblA.Text = "Sichern"
Else
lblA.Text = "Nicht sichern"
End If
End Sub
Listing 7.13 Projekt »EingabeAusgabe«, Ja/Nein
Zur Erläuterung:
- Die beiden Buttons Ja und Nein werden mit dem Fragezeichen verknüpft.
- Der Benutzer muss die Frage beantworten. Die Antwort wird gespeichert und mithilfe einer If...Else-Verzweigung ausgewertet.
- Im vorliegenden Programm werden nur zwei unterschiedliche Meldungen im Label ausgegeben. In der Realität würden zwei unterschiedliche Abläufe beginnen.
Nach Betätigung des Buttons Nein sieht es aus wie in Abbildung 7.22.
Ein Beispiel mit Buttons für Ja, Nein und Abbrechen (siehe Abbildung 7.23).
Abbildung 7.22 Antwort nach Button »Nein«
Abbildung 7.23 Drei Buttons zur Auswahl
Der zugehörige Code:
Private Sub cmdMsgBoxYesNoCancel_Click(...) Handles ...
Dim dr As DialogResult
dr = MessageBox.Show(
"Soll die Datei gesichert werden?",
"Sicherung",
MessageBoxButtons.YesNoCancel,
MessageBoxIcon.Question)
If dr = DialogResult.Yes Then
lblA.Text = "Sichern"
ElseIf dr = DialogResult.No Then
lblA.Text = "Nicht sichern"
Else
lblA.Text = "Abbrechen"
End If
End Sub
Listing 7.14 Projekt »EingabeAusgabe«, Ja/Nein/Abbrechen
Zur Erläuterung:
- Der Benutzer hat drei Möglichkeiten. Die Antwort wird mithilfe einer verschachtelten If...Else-Verzweigung ausgewertet.
Ein Beispiel mit Buttons für Wiederholen und Abbrechen sowie dem Zeichen für Kritische Warnung sehen Sie in Abbildung 7.24.
Abbildung 7.24 Kritische Warnung plus zwei Möglichkeiten
Der zugehörige Code lautet:
Private Sub cmdMsgBoxRetryCancel_Click(...) Handles ...
Dim dr As DialogResult
dr = MessageBox.Show("Beim " +
"Sichern der Datei trat ein Fehler auf." &
vbCrLf &
"Wollen Sie es noch einmal probieren?" &
vbCrLf &
"Wollen Sie den Vorgang abbrechen?",
"Fehler bei Sicherung",
MessageBoxButtons.RetryCancel,
MessageBoxIcon.Error)
If dr = DialogResult.Retry Then
lblA.Text = "Noch einmal"
Else
lblA.Text = "Abbrechen"
End If
End Sub
Listing 7.15 Projekt »EingabeAusgabe«, Wiederholen/Abbrechen
Zur Erläuterung:
- Die beiden Buttons Wiederholen und Abbrechen werden mit dem Zeichen für Fehler verknüpft. Bei eingeschaltetem Lautsprecher ertönt der entsprechende Systemton.
Ein Beispiel mit drei Buttons für Abbrechen, Wiederholen und Ignorieren sowie dem Zeichen für Achtung sehen Sie in Abbildung 7.25.
Abbildung 7.25 »Achtung« mit drei Möglichkeiten
Der zugehörige Code lautet:
Private Sub cmdMsgBoxAbortRetryIgnore_Click(...
) Handles ...
Dim dr As DialogResult
dr = MessageBox.Show("Beim " &
"Sichern der Datei trat ein Fehler auf." &
vbCrLf &
"Wollen Sie den Vorgang abbrechen?" &
vbCrLf &
"Wollen Sie es noch einmal probieren?" &
vbCrLf &
"Wollen Sie diese Nachricht ignorieren?",
"Fehler bei Sicherung",
MessageBoxButtons.AbortRetryIgnore,
MessageBoxIcon.Warning)
If dr = DialogResult.Abort Then
lblA.Text = "Abbrechen"
ElseIf dr = DialogResult.Retry Then
lblA.Text = "Noch einmal"
Else
lblA.Text = "Ignorieren"
End If
End Sub
Listing 7.16 Projekt »EingabeAusgabe«, Abbrechen Wiederholen/Ignorieren
Zur Erläuterung:
- Die drei Buttons Abbrechen, Wiederholen und Ignorieren werden mit dem Zeichen Warnung verknüpft. Bei eingeschaltetem Lautsprecher ertönt der entsprechende Systemton.
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.