MsgBox-Funktion (Visual Basic)

Aktualisiert: November 2007

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.

Public Function MsgBox( _
   ByVal Prompt As Object, _
   Optional ByVal Buttons As MsgBoxStyle = MsgBoxStyle.OKOnly, _
   Optional ByVal Title As Object = Nothing _
) As MsgBoxResult

Parameter

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

Einstellungen

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.

Rückgabewert

Konstante

Wert

OK

1

Cancel

2

Abort

3

Retry

4

Ignore

5

Yes

6

No

7

Ausnahmen

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.

Hinweise

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.

Hinweis:

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.

Hinweis:

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.

Beispiel

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.

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

Anforderungen

Namespace:Microsoft.VisualBasic

**Modul:**Interaction

**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Siehe auch

Referenz

InputBox-Funktion (Visual Basic)