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 |
例外狀況
例外狀況類型 |
錯誤代碼 |
條件 |
---|---|---|
Prompt 不是 String 運算式,或 Title 無效。 |
||
處理序不是在使用者互動模式中執行。 |
||
一或多個參數不是 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
需求
**模組︰**Interaction
組件:Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)