Share via


MsgBox 函式 (Visual Basic)

更新:2007 年 11 月

在對話方塊中顯示訊息、等候使用者按一下按鈕,然後傳回表示使用者按下的按鈕之整數。

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

參數

  • Prompt
    必要項。顯示為對話方塊中訊息的 String 運算式。視使用的字元寬度而定,Prompt 的最大長度大約是 1024 個字元。如果 Prompt 是由一行以上所組成,則您可在每一行之間使用歸位字元 (Chr(13))、換行字元 (Chr(10)) 或歸位/換行字元的組合 (Chr(13) & Chr(10)),來隔開這些行。

  • Buttons
    選擇項。數值運算式,這個值總和指定要顯示的按鈕數目和類型、要使用的圖示樣式、預設按鈕的識別及訊息方塊的強制回應性。如果省略 Buttons,則預設值為零。

  • Title
    選擇項。顯示在對話方塊標題列中的 String 運算式。如果省略 Title,則會將應用程式名稱放置在標題列中。

設定

下表所列為 MsgBoxStyle 列舉值。

成員

描述

OKOnly

0

僅顯示 [確定] 按鈕。

OKCancel

1

顯示 [確定] 和 [取消] 按鈕。

AbortRetryIgnore

2

顯示 [中止]、[重試] 和 [忽略] 按鈕。

YesNoCancel

3

顯示 [是]、[否] 和 [取消] 按鈕。

YesNo

4

顯示 [是] 和 [否] 按鈕。

RetryCancel

5

顯示 [重試] 和 [取消] 按鈕。

Critical

16

顯示 [重大訊息] 圖示。

Question

32

顯示 [警告查詢] 圖示。

Exclamation

48

顯示 [警告訊息] 圖示。

Information

64

顯示 [資訊訊息] 圖示。

DefaultButton1

0

第一個按鈕是預設值。

DefaultButton2

256

第二個按鈕是預設值。

DefaultButton3

512

第三個按鈕是預設值。

ApplicationModal

0

應用程式是強制回應的。使用者必須在繼續使用目前應用程式之前先回應訊息方塊。

SystemModal

4096

系統是強制回應的。所有的應用程式都會暫止,直到使用者對訊息方塊做出回應時為止。

MsgBoxSetForeground

65536

將訊息方塊視窗指定為前景視窗。

MsgBoxRight

524288

文字靠右對齊。

MsgBoxRtlReading

1048576

指定在希伯來文或阿拉伯文的系統上,文字應該以從右到左的書寫方式呈現。

第一個值群組 (0-5) 描述對話方塊中所顯示的按鈕數目和型別。第二個群組 (16、32、48、64) 描述圖示樣式。第三個群組 (0、256、512) 判斷哪個是預設值。第四個群組 (0、4096) 判斷訊息方塊的形式,而第五個群組則指定訊息方塊視窗是否為前景視窗,以及文字的對齊和方向。當加入數字來建立 Buttons 引數的最後值時,只能使用每個群組當中的一個數字。

傳回值

常數

OK

1

Cancel

2

Abort

3

Retry

4

Ignore

5

Yes

6

No

7

例外狀況

例外狀況類型

錯誤代碼

條件

ArgumentException

5

Prompt 不是 String 運算式,或 Title 無效。

InvalidOperationException

5

處理序不是在使用者互動模式中執行。

InvalidEnumArgumentException

5

一或多個參數不是 MsgBoxResult 或 MsgBoxStyle 列舉型別的成員。

如果將使用非結構化錯誤處理的 Visual Basic 6.0 應用程式升級,請參閱「錯誤代碼」資料行 (您可以將錯誤代碼與 Number 屬性 (Err 物件) 比對)。但是,請盡可能考慮以 Visual Basic 的結構化例外處理概觀 取代這類錯誤控制項。

備註

如果對話方塊顯示 [取消] 按鈕,則按 ESC 鍵和按一下 [取消] 的效果是一樣的。如果對話方塊包含 [說明] 按鈕,則這個對話方塊具有即時線上說明。不過,要按一下任何一個其他按鈕才會傳回值。

注意事項:

若要指定第一個引數之外的引數,則必須在運算式中使用 MsgBox 函式。如果省略任何位置引數,則必須保留對應的逗號分隔符號。

注意事項:

MsgBox 函式在 SafeTopLevelWindows 層級需要 UIPermission,這可能會在部分信任的情況下影響其執行。如需詳細資訊,請參閱要求使用權限UIPermission

範例

這個範例將使用 MsgBox 函式,在具有 [是] 和 [否] 按鈕的對話方塊中顯示重大錯誤訊息。將 [否] 按鈕指定為預設回應。若要進行上述設定,您可將 MsgBox 常數值組合成一個數值運算式。在這個範例中,將 4 ([是]/[否] 按鈕組合)、16 ([重大訊息] 視窗) 及 256 (第二個按鈕為預設按鈕) 加起來得到總數為 276。MsgBox 函式傳回的值將視使用者選擇的按鈕而定:[是] 傳回值 6,[否] 則傳回值 7。

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

需求

命名空間Microsoft.VisualBasic

**模組︰**Interaction

組件:Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)

請參閱

參考

InputBox 函式 (Visual Basic)