メッセージボックスを表示するメッセージボックスを表示するには、MessageBoxクラス(System.Windows.Forms名前空間)のShowメソッドを使用します。メッセージボックスは、エラーメッセージを表示したり、ユーザーに確認を求める時などに便利です。
補足:VB.NETではメッセージボックスを表示させるためにMsgBox関数を使うこともできますが、ここではその使い方を説明しません。
'メッセージボックスを表示する 'Yes,Noボタンと!アイコン MsgBox("ここに説明を書く。", _ MsgBoxStyle.YesNo Or MsgBoxStyle.Exclamation, _ "タイトル") メッセージボックスはモーダルとして表示されますので、基本的には、メッセージボックスを閉じるまでアプリケーションに対して他の操作ができなくなります。 例えば、メッセージボックスを使ってユーザーに注意を促すには、次のようにします。
'Imports System.Windows.Forms
'メッセージボックスを表示する
MessageBox.Show("正しい値を入力してください。", _
"エラー", _
MessageBoxButtons.OK, _
MessageBoxIcon.Error)
//using System.Windows.Forms;
//メッセージボックスを表示する
MessageBox.Show("正しい値を入力してください。",
"エラー",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
例えば、メッセージボックスを使ってユーザーに質問をするには次のようにします。ここでは、「はい」「いいえ」「キャンセル」の3つの中から1つを選んでもらうようにしています。さらに、デフォルトのボタン(始めにフォーカスのあるボタン)を2番目のボタンである「いいえ」にしています。
'メッセージボックスを表示する Dim result As DialogResult = MessageBox.Show("ファイルを上書きしますか?", _ "質問", _ MessageBoxButtons.YesNoCancel, _ MessageBoxIcon.Exclamation, _ MessageBoxDefaultButton.Button2) '何が選択されたか調べる If result = DialogResult.Yes Then '「はい」が選択された時 Console.WriteLine("「はい」が選択されました") ElseIf result = DialogResult.No Then '「いいえ」が選択された時 Console.WriteLine("「いいえ」が選択されました") ElseIf result = DialogResult.Cancel Then '「キャンセル」が選択された時 Console.WriteLine("「キャンセル」が選択されました") End If //メッセージボックスを表示する DialogResult result = MessageBox.Show("ファイルを上書きしますか?", "質問", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2); //何が選択されたか調べる if (result == DialogResult.Yes) { //「はい」が選択された時 Console.WriteLine("「はい」が選択されました"); } else if (result == DialogResult.No) { //「いいえ」が選択された時 Console.WriteLine("「いいえ」が選択されました"); } else if (result == DialogResult.Cancel) { //「キャンセル」が選択された時 Console.WriteLine("「キャンセル」が選択されました"); } 以下、メッセージボックスに表示できるボタンとアイコンの種類について補足します。 メッセージボックスのボタンメッセージボックスに表示するボタンは、MessageBoxButtons列挙体で指定します。以下にMessageBoxButtons列挙体のメンバと、そのメンバを指定したときに表示されるボタンについて説明します。
ユーザーがどのボタンを押したかは、Showメソッドが返すDialogResultの値で分かります。メッセージボックスの閉じるボタン(Xボタン)が押された時は、基本的にはキャンセルボタンが押されたことになりますが、「OK」ボタンのみのとき(MessageBoxButtons.OKのとき)は、OKボタンが押されたことになります。 MessageBoxDefaultButton列挙体を指定すれば、メッセージボックスを表示したときにフォーカスのあるボタンを変更することもできます。 これらの使用例はすでに紹介しましたので、ここでは省略します。 メッセージボックスのアイコンメッセージボックスにアイコンを表示することができます。表示できるアイコンは4種類あり、MessageBoxIcon列挙体で指定します。 以下に、MessageBoxIcon列挙体のメンバとその意味を紹介します。
その他のオプションオーナーウィンドウを指定するメッセージボックスのオーナーウィンドウを、Showメソッドの1番目のパラメータに指定することができます。もしこれを指定しなかったならば、アクティブなウィンドウをオーナーとするようです。 例えば、自分自身をオーナーとしてメッセージボックスを表示するならば、次のようにします。 '自分自身をオーナーとしてメッセージボックスを表示する MessageBox.Show(Me, "テストです。") //自分自身をオーナーとしてメッセージボックスを表示する MessageBox.Show(this, "テストです。"); 文字を右揃えにするメッセージボックスのタイトルとメッセージを右揃えにすることもできます。それには、MessageBoxOptions列挙体のRightAlignを指定します。
'文字を右揃えにしてメッセージボックスを表示する Dim result As DialogResult = MessageBox.Show("ファイルを上書きしますか?", _ "質問", _ MessageBoxButtons.YesNoCancel, _ MessageBoxIcon.Exclamation, _ MessageBoxDefaultButton.Button2, _ MessageBoxOptions.RightAlign)
//文字を右揃えにしてメッセージボックスを表示する
DialogResult result = MessageBox.Show("ファイルを上書きしますか?",
"質問",
MessageBoxButtons.YesNoCancel,
MessageBoxIcon.Exclamation,
MessageBoxDefaultButton.Button2,
MessageBoxOptions.RightAlign);
サービスからメッセージボックスを表示するMessageBoxOptions列挙体のServiceNotificationを指定してShowメソッドを呼び出すと、メッセージボックスが現在アクティブなデスクトップに表示されます。この時、メッセージボックスはvisualスタイルを使用しません。このオプションは通常、サービスからメッセージボックスを表示するときに使用します。 ServiceNotificationに似たオプションにDefaultDesktopOnlyがあります。ServiceNotificationではログインしているユーザーがいない場合でもメッセージボックスが表示されますが、DefaultDesktopOnlyでは既定のデスクトップ(ユーザーがログオンした後でアプリケーションが動作するデスクトップ)でのみ表示されます。 これらのオプションは、Windows NT系のOSでのみ有効です。
'文字を右揃えにしてメッセージボックスを表示する Dim result As DialogResult = MessageBox.Show("ファイルを上書きしますか?", _ "質問", _ MessageBoxButtons.YesNoCancel, _ MessageBoxIcon.Exclamation, _ MessageBoxDefaultButton.Button2, _ MessageBoxOptions.ServiceNotification)
//文字を右揃えにしてメッセージボックスを表示する
DialogResult result = MessageBox.Show("ファイルを上書きしますか?",
"質問",
MessageBoxButtons.YesNoCancel,
MessageBoxIcon.Exclamation,
MessageBoxDefaultButton.Button2,
MessageBoxOptions.ServiceNotification);
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。
|
|
Copyright(C) DOBON!. All rights reserved.
|