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ボタンを規定とする


サンプルコード
  1. Imports System.Windows.Forms 'MessageBoxが所属している名前空間をImport  
  2. Public Class Form1  
  3.   
  4.     Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load  
  5.   
  6.         MessageBox.Show("メッセージ"'メッセージのみ表示  
  7.         MessageBox.Show("メッセージ""タイトル"'メッセージ、タイトルを表示  
  8.         MessageBox.Show("メッセージ""タイトル", MessageBoxButtons.OKCancel) 'OK, キャンセルボタン  
  9.         MessageBox.Show("メッセージ""タイトル", MessageBoxButtons.YesNo) 'はい、いいえボタン  
  10.         MessageBox.Show("メッセージ""", MessageBoxButtons.OK, MessageBoxIcon.Error'警告アイコン  
  11.         MessageBox.Show("メッセージ""", MessageBoxButtons.OK, MessageBoxIcon.Question) '問い合わせアイコン  
  12.     End Sub  
  13. End Class  


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

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

閉じるボタンは、OKボタンのみの時はOKを返し
キャンセルボタンが表示されている時は、キャンセルを返します。
  1. Imports System.Windows.Forms 'MessageBoxが所属している名前空間をImport  
  2. Public Class Form1  
  3.   
  4.     Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles MyBase.Load  
  5.   
  6.         Call SampleMessageBox()  
  7.     End Sub  
  8.   
  9.     Sub SampleMessageBox()  
  10.   
  11.         Dim Ret As DialogResult  
  12.         Ret = MessageBox.Show("""", MessageBoxButtons.AbortRetryIgnore)  
  13.         Call IsButton(Ret)  
  14.   
  15.         Ret = MessageBox.Show("""", MessageBoxButtons.OK)  
  16.         Call IsButton(Ret)  
  17.   
  18.         Ret = MessageBox.Show("""", MessageBoxButtons.OKCancel)  
  19.         Call IsButton(Ret)  
  20.   
  21.         Ret = MessageBox.Show("""", MessageBoxButtons.RetryCancel)  
  22.         Call IsButton(Ret)  
  23.   
  24.         Ret = MessageBox.Show("""", MessageBoxButtons.YesNo)  
  25.         Call IsButton(Ret)  
  26.   
  27.         Ret = MessageBox.Show("""", MessageBoxButtons.YesNoCancel)  
  28.         Call IsButton(Ret)  
  29.   
  30.     End Sub  
  31.   
  32.     Sub IsButton(ByVal Button As DialogResult)  
  33.   
  34.         If Button = DialogResult.Abort Then  
  35.             Debug.Print("中止ボタン")  
  36.   
  37.         ElseIf Button = DialogResult.Retry Then  
  38.             Debug.Print("再試行ボタン")  
  39.   
  40.         ElseIf Button = DialogResult.Ignore Then  
  41.             Debug.Print("無視ボタン")  
  42.   
  43.         ElseIf Button = DialogResult.OK Then  
  44.             Debug.Print("OKボタン")  
  45.   
  46.         ElseIf Button = DialogResult.Cancel Then  
  47.             Debug.Print("キャンセルボタン")  
  48.   
  49.         ElseIf Button = DialogResult.Yes Then  
  50.             Debug.Print("はいボタン")  
  51.   
  52.         ElseIf Button = DialogResult.No Then  
  53.             Debug.Print("いいえボタン")  
  54.   
  55.         ElseIf Button = DialogResult.None Then  
  56.             Debug.Print("閉じるボタン")  
  57.   
  58.         End If  
  59.   
  60.     End Sub  
  61. End Class  

0 件のコメント: