MsgBox 関数と MessageBox.Show メソッド

確認や警告などのメッセージ表示を簡単に実現できます

VB.NET では VB6 と同様に MsgBox 関数を扱うことができますが .NET Framework クラスライブラリを利用した MessageBox.Show
メソッドで MsgBox 関数と同じ機能を実現することもできます
というか MsgBox 関数は実際には内部で MessageBox.Show メソッドを呼び出しているので MessageBox クラスを利用したほうが
よいでしょう
MsgBox
エラー時などの警告メッセージでは戻り値を受け取る必要はなく Call で呼び出します
表示スタイル はボタンやアイコンの種類 標準ボタン (初期状態で選択するボタン) の設定ができます

Call MsgBox("予期せぬエラーが発生しました", vbCritical)

確認メッセージとして使用する場合は 戻り値 を受け取って判定します

If MsgBox("終了します" & vbLf & "よろしいですか", vbQuestion + vbYesNo) = vbYes Then

実はこの記述は VB.NET では厳密には誤りになります
Option StrictOn にした場合はエラーが発生します
上記の例では 2番目の引数 (表示スタイル) を合計値で指定 (VB6 のヘルプでは合計値で指定と説明されています) しています

この記述では Integer 型で指定したことになりますが 実際にはここは MsgBoxStyle 型で指定する必要があります
この記述を VB.NET のスタイルで記述するならば 下記のようになります

If MsgBox("終了します" & vbLf & "よろしいですか", MsgBoxStyle.Question Or MsgBoxStyle.YesNo) _
        = MsgBoxResult.Yes Then

メッセージボックス内に表示する文字列を改行する場合には 下記のいずれかを使用します

定数内容
vbCrChr$(13)キャリッジリターン
vbLfChr$(10)ラインフィード
vbCrLfChr$(13) & Chr$(10)キャリッジリターン+ラインフィード

MessageBox.Show
基本的な使用は MsgBox 関数と同じですが 記述方法などが変更になりました
さきほどの MsgBox 関数でのソースを同じように記述すると下記のようになります

If MessageBox.Show("終了します" & vbLf & "よろしいですか", "確認メッセージ", _
        MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then

大きく変更になったのは 2番目の引数でメッセージのタイトルを設定している部分です

MessageBox.Show メソッドでタイトルを省略する場合には 表示スタイルやアイコンも省略する必要があります
VB.NET では関数のオーバーロードが可能になったので 引数を省略するという表現はちょっと違います
ちなみに MsgBox 関数では タイトルを省略するとアプリケーション名が自動的に表示されていましたが MessageBox.Show メソッド
ではタイトル部分が空白のダイアログが表示されます

また MsgBox 関数では表示スタイルを合計値で指定していましたが MessageBox.Show メソッドではそれぞれを個別に指定する
ようになりました