2013年4月13日土曜日

[VB.NET]MessageBox


■構文
MessageBox.SHow(text[, caption] [, button] [, icon] [, defaultButton])

■名前空間
System.Windows.Forms

■説明
メッセージボックスを表示します
第一引数:メッセージボックスに表示するテキスト。
第二引数:(省略可能)メッセージボックスのタイトルバーに表示するテキスト。
第三引数:(省略可能)メッセージボックスに表示されるボタンを指定する。
第四引数:(省略可能)メッセージボックスに表示されるアイコンを指定する。
第五引数:(省略可能)メッセージボックスの既定のボタンを指定する。

第三引数ボタンについて
MessageBoxButtons.AbortRetryIgnore[中止][再試行][無視]ボタン
MessageBoxButtons.OK[OK]ボタン
MessageBoxButtons.OkCancel[OK][キャンセル]ボタン
MessageBoxButtons.RetryCancel[再試行][キャンセル]ボタン
MessageBoxButtons.YesNo[はい][いいえ]ボタン
MessageBoxButtons.YesNoCancel[はい][いいえ][キャンセル]

第四引数アイコンについて
MessageBoxIcon.Error[警告]アイコン
MessageBoxIcon.Stop
MessageBoxIcon.Hand
MessageBoxIcon.Quesion[問い合わせ]アイコン
MessageBoxIcon.Exclamation[注意]アイコン
MessageBoxIcon.Warning
MessageBoxIcon.Information[情報]アイコン
MessageBoxIcon.Asterisk
MessageBoxIcon.Noneアイコンなし

第五引数デフォルトボタンについて
MessageBoxDefaultButton.Button1第1ボタンを規定とする
MessageBoxDefaultButton.Button2第2ボタンを規定とする
MessageBoxDefaultButton.Button3第3ボタンを規定とする


サンプルコード
Imports System.Windows.Forms 'MessageBoxが所属している名前空間をImport
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        MessageBox.Show("メッセージ") 'メッセージのみ表示
        MessageBox.Show("メッセージ", "タイトル") 'メッセージ、タイトルを表示
        MessageBox.Show("メッセージ", "タイトル", MessageBoxButtons.OKCancel) 'OK, キャンセルボタン
        MessageBox.Show("メッセージ", "タイトル", MessageBoxButtons.YesNo) 'はい、いいえボタン
        MessageBox.Show("メッセージ", "", MessageBoxButtons.OK, MessageBoxIcon.Error) '警告アイコン
        MessageBox.Show("メッセージ", "", MessageBoxButtons.OK, MessageBoxIcon.Question) '問い合わせアイコン
    End Sub
End Class


■ボタンの戻り値について
ボタンの戻り値は、DialogResult列挙型となっています。
何のボタンを押された確認する時は以下を使用するとよいです。
名前空間は、System.Windows.Formsです。

DialogResult.Abort中止ボタン
DialogResult.Retry再試行ボタン
DialogResult.Ignore無視ボタン
DialogResult.OKOKボタン
DialogResult.Cancelキャンセルボタン
DialogResult.Yesはいボタン
DialogResult.Noいいえボタン

閉じるボタンは、OKボタンのみの時はOKを返し
キャンセルボタンが表示されている時は、キャンセルを返します。
Imports System.Windows.Forms 'MessageBoxが所属している名前空間をImport
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Call SampleMessageBox()
    End Sub

    Sub SampleMessageBox()

        Dim Ret As DialogResult
        Ret = MessageBox.Show("", "", MessageBoxButtons.AbortRetryIgnore)
        Call IsButton(Ret)

        Ret = MessageBox.Show("", "", MessageBoxButtons.OK)
        Call IsButton(Ret)

        Ret = MessageBox.Show("", "", MessageBoxButtons.OKCancel)
        Call IsButton(Ret)

        Ret = MessageBox.Show("", "", MessageBoxButtons.RetryCancel)
        Call IsButton(Ret)

        Ret = MessageBox.Show("", "", MessageBoxButtons.YesNo)
        Call IsButton(Ret)

        Ret = MessageBox.Show("", "", MessageBoxButtons.YesNoCancel)
        Call IsButton(Ret)

    End Sub

    Sub IsButton(ByVal Button As DialogResult)

        If Button = DialogResult.Abort Then
            Debug.Print("中止ボタン")

        ElseIf Button = DialogResult.Retry Then
            Debug.Print("再試行ボタン")

        ElseIf Button = DialogResult.Ignore Then
            Debug.Print("無視ボタン")

        ElseIf Button = DialogResult.OK Then
            Debug.Print("OKボタン")

        ElseIf Button = DialogResult.Cancel Then
            Debug.Print("キャンセルボタン")

        ElseIf Button = DialogResult.Yes Then
            Debug.Print("はいボタン")

        ElseIf Button = DialogResult.No Then
            Debug.Print("いいえボタン")

        ElseIf Button = DialogResult.None Then
            Debug.Print("閉じるボタン")

        End If

    End Sub
End Class

0 件のコメント: