4

スタイルとボタンスタイルのMsgBox()両方を備えたを作成しようとしています。私がこれまでに試したことはこれです:MsgBoxStyle.CriticalMsgBoxStyle.RetryCancel

Private Sub DoSomething()
    Dim Answer as MsgBoxResult
        Answer = MsgBox("Error", MsgBoxStyle.RetryCancel & MsgBoxStyle.Critical, _
        "Some sort of error.")
    If Answer = MsgBoxResult.Retry Then
        'REM: Try code again
    Elseif Answer = MsgBoxResult.Cancel Then
        Exit Sub
    End If
End Sub

ボタンは現在次のようになっています。

再試行/キャンセルする必要があります

Criticalメッセージボックスにアイコンはありません。

これどうやってするの?

4

3 に答える 3

10

ビット単位の「結合」はと呼ばれOrます。

MsgBoxStyle.RetryCancel Or MsgBoxStyle.Critical

MsgBoxStyle.RetryCancel & MsgBoxStyle.Criticalに評価されます"5" + "16"。これはに評価されます"516"。これはに評価されます516。これは魔法のように等しいため、そのようにMsgBoxStyle.YesNo Or MsgBoxStyle.DefaultButton3解釈されます。

&ビット単位の論理には文字列連結演算子を使用しないでください。

于 2012-07-18T09:10:11.787 に答える
4

MessageBoxの代わりに使用してくださいMsgBox。これを試して:

    Dim _result As DialogResult = MessageBox.Show("Do you want to retry", "Confirm Retry", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error)
    If _result = Windows.Forms.DialogResult.Retry Then
        ' try again code
    Else

    End If

メッセージボックスのサンプル

于 2012-07-18T09:11:45.860 に答える
-1

msgboxの使用:&use +記号の代わりに、たとえば

MsgBoxStyle.RetryCancel + MsgBoxStyle.Critical

うまくいくはずですが、5(RetryCancel)+ 16(Critical)=21のように数字だけを試すこともできます。例:

MsgBox("Error", 21, "Some sort of error.") should work.

msgboxStyle codes:
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
于 2016-09-12T12:22:16.320 に答える