Kategorien

MsgBox

MsgBox-Funktion (Visual Basic)

 Zeigt eine Meldung in einem Dialogfeld an und wartet darauf, dass der Benutzer auf eine Schaltfläche klickt. Anschließend wird eine ganze Zahl zurückgegeben, die anzeigt, auf welche Schaltfläche geklickt wurde.
Kopieren
Public Function MsgBox( _
   ByVal Prompt As Object, _
   Optional ByVal Buttons As MsgBoxStyle = MsgBoxStyle.OKOnly, _
   Optional ByVal Title As Object = Nothing _
) As MsgBoxResult

 

 

Prompt
Erforderlich. String-Ausdruck, der als Meldung im Dialogfeld angezeigt wird. Die maximale Länge von Prompt beträgt etwa 1024 Zeichen, je nach Breite der verwendeten Zeichen. Wenn Prompt aus mehreren Zeilen besteht, können Sie die Zeilen umbrechen, indem Sie jeweils ein Wagenrücklaufzeichen (Chr(13)), ein Zeilenvorschubzeichen (Chr(10)) oder eine Kombination aus Wagenrücklauf und Zeilenvorschub (Chr(13) & Chr(10)) einfügen.

Buttons
Optional. Numerischer Ausdruck, der die Summe der Werte für folgende Angaben darstellt: Anzahl und Art der anzuzeigenden Schaltflächen, Art des zu verwendenden Symbols, Angabe der Standardschaltfläche und Verhalten des Meldungsfelds. Wenn Sie Buttons nicht angeben, ist der Standartwert 0 (null).

Title
Optional. String-Ausdruck, der in der Titelleiste des Dialogfelds angezeigt wird. Wenn Sie Title nicht angeben, wird der Anwendungsname in der Titelleiste angezeigt.

Die MsgBoxStyle-Enumerationswerte sind in der folgenden Tabelle aufgeführt:

Member Wert Beschreibung
OKOnly 0 Zeigt nur die Schaltfläche OK an.
OKCancel 1 Zeigt die Schaltflächen OK und Abbrechen an.
AbortRetryIgnore 2 Zeigt die Schaltflächen Abbrechen, Wiederholen und Ignorieren an.
YesNoCancel 3 Zeigt die Schaltflächen Ja, Nein und Abbrechen an.
YesNo 4 Zeigt die Schaltflächen Ja und Nein an.
RetryCancel 5 Zeigt die Schaltflächen Wiederholen und Abbrechen an.
Critical 16 Zeigt das Stop-Symbol im Meldungsfeld an.
Question 32 Zeigt das Fragezeichen-Symbol im Meldungsfeld an.
Exclamation 48 Zeigt das Symbol Warnung im Meldungsfeld an.
Information 64 Zeigt das Symbol Information an.
DefaultButton1 0 Erste Schaltfläche ist Standardschaltfläche.
DefaultButton2 256 Zweite Schaltfläche ist Standardschaltfläche.
DefaultButton3 512 Dritte Schaltfläche ist Standardschaltfläche.
ApplicationModal 0 Anwendung ist modal. Der Benutzer muss das Meldungsfeld bestätigen, bevor mit der Anwendung fortgefahren werden kann.
SystemModal 4096 System ist modal. Alle Anwendungen werden unterbrochen, bis der Benutzer auf das Meldungsfeld reagiert.
MsgBoxSetForeground 65536 Legt das Meldungsfeld als Vordergrundfenster fest.
MsgBoxRight 524288 Der Text ist rechtsbündig.
MsgBoxRtlReading 1048576 Legt fest, dass der Text auf hebräischen und arabischen Systemen von rechts nach links dargestellt wird.

Mit der ersten Gruppe von Werten (0 – 5) wird Zahl und Typ der im Dialogfeld angezeigten Schaltflächen beschrieben. Mit der zweiten Gruppe (16, 32, 48, 64) wird das Symbolformat beschrieben. Mit der dritten Gruppe (0, 256, 512) wird festgelegt, welche Schaltfläche die Standardschaltfläche ist. Mit der fünften Gruppe (0, 4096) wird das Verhalten des Meldungsfelds festgelegt, und mit der fünften Gruppe wird angegeben, ob das Meldungsfeld als Vordergrundfenster angezeigt wird, und wie der Text ausgerichtet wird. Verwenden Sie beim Addieren der Zahlen zu einem Gesamtwert für das Buttons-Argument nur eine Zahl aus jeder Gruppe.

 

Konstante Wert
OK 1
Cancel 2
Abort 3
Retry 4
Ignore 5
Yes 6
No 7

 

Ausnahmetyp Fehlernummer Bedingung
ArgumentException 5 Prompt ist kein String-Ausdruck, oder Title ist ungültig.
InvalidOperationException 5 Der Prozess wird nicht im interaktiven Modus ausgeführt.
InvalidEnumArgumentException 5 Ein oder mehrere Parameter ist bzw. sind kein/e Member der MsgBoxResult-Enumeration oder der MsgBoxStyle-Enumeration.

Beachten Sie die Spalte „Fehlernummer“, wenn Sie Visual Basic 6.0-Anwendungen aktualisieren, die eine unstrukturierte Fehlerbehandlung verwenden. (Sie können die Fehlernummer mit der Number-Eigenschaft (Err-Objekt) vergleichen.) Wenn möglich, sollten Sie jedoch erwägen, eine solche Fehlersteuerung durch eine Übersicht über die strukturierte Ausnahmebehandlung für Visual Basic zu ersetzen.

Wenn im Dialogfeld die Schaltfläche Abbrechen angezeigt wird, hat das Drücken von ESC dieselbe Wirkung wie das Klicken auf Abbrechen. Wenn im Dialogfeld die Schaltfläche Hilfe angezeigt wird, wird für das Dialogfeld eine kontextbezogene Hilfe zur Verfügung gestellt. Ein Wert wird aber erst zurückgegeben, wenn auf eine der anderen Schaltflächen geklickt wird.

139z2azd.alert_note(de-de,VS.90).gifHinweis:
Wenn Sie außer dem ersten Argument weitere Argumente angeben möchten, müssen Sie die MsgBox-Funktion in einem Ausdruck verwenden. Wenn Sie einige Argumente mit einer bestimmten Position nicht angeben möchten, müssen Sie das entsprechende Komma als Trennzeichen beibehalten.
139z2azd.alert_note(de-de,VS.90).gifHinweis:
Die MsgBox-Funktion erfordert eine UIPermission-Berechtigung auf der SafeTopLevelWindows-Ebene. Dies könnte sich auf ihre Ausführung in teilweise vertrauenswürdigen Kontexten auswirken. Weitere Informationen finden Sie unter Anfordern von Berechtigungen und UIPermission.

In diesem Beispiel wird mit der MsgBox-Funktion eine Meldung zu einem schwerwiegenden Fehler in einem Dialogfeld mit den Schaltflächen Ja und Nein angezeigt. Nein ist dabei die Voreinstellung. Fassen Sie hierzu die MsgBox-Konstantenwerte in einem numerischen Ausdruck zusammen. In diesem Fall erhalten Sie durch das Addieren von 4 (die Schaltflächenkombination Ja/Nein), 16 (das Fenster mit der Meldung für kritische Fehler) und 256 (die zweite Schaltfläche als Standardfläche) den Wert 276. Der von der MsgBox-Funktion zurückgegebene Wert hängt von der Schaltfläche ab, die der Benutzer wählt: Ja gibt den Wert 6 zurück; Nein gibt den Wert 7 zurück.

Kopieren
Dim msg As String
Dim title As String
Dim style As MsgBoxStyle
Dim response As MsgBoxResult
msg = "Do you want to continue?"   ' Define message.
style = MsgBoxStyle.DefaultButton2 Or _
   MsgBoxStyle.Critical Or MsgBoxStyle.YesNo
title = "MsgBox Demonstration"   ' Define title.
' Display message.
response = MsgBox(msg, style, title)
If response = MsgBoxResult.Yes Then   ' User chose Yes.
   ' Perform some action.
Else
   ' Perform some other action.
End If



Quelle: https://msdn.microsoft.com/de-de/library/139z2azd(v=vs.90).aspx