.NET TIPS

メッセージ・ボックスを表示するには?

デジタルアドバンテージ
2003/04/04

 プログラムからメッセージ・ボックスを表示するには、MessageBoxクラス(System.Windows.Forms名前空間)のShowメソッドを呼び出す。このメソッドはstaticなメソッドであるため、次のように簡単に使用することができる。

MessageBox.Show("ここにメッセージ", "ここにタイトル");

 この1行により、次のようなメッセージ・ボックスが表示される。

MessageBox.Showにより表示されるメッセージ・ボックス

メッセージ・ボックスのボタン

 Showメソッドには、オーバーロードによりさまざまなバージョンのものが用意されている。上記の画面のように、デフォルトではメッセージ・ボックスには[OK]ボタンが付くが、メソッドのパラメータでこのボタンの種類を指定することができる。

 次のサンプル・プログラムでは、すべての種類のボタンを持ったメッセージ・ボックスを順に表示していく。

 表示されるボタンの種類は、Showメソッドの3番目のパラメータで指定している。ここにはMessageBoxButtons列挙体(System.Windows.Forms名前空間)の値を指定する。このサンプル・プログラムでは、列挙体のそれぞれの値について、順にメッセージ・ボックスを表示している(TIPS:列挙体の値を列挙するには?参照)。

// allbuttons.cs

using System;
using System.Windows.Forms;

class msgbox {
  public static void Main() {

    foreach (MessageBoxButtons mbb
          in Enum.GetValues(typeof(MessageBoxButtons))) {

      DialogResult dr = MessageBox.Show(
                          mbb.ToString(),
                          "MessageBoxButtons一覧",
                          mbb);
      Console.WriteLine(dr);
    }
  }
}
// コンパイル方法:csc allbuttons.cs
ボタンの種類ごとにメッセージ・ボックスを表示するC#のサンプル・プログラム(allbuttons.cs)

 このサンプル・プログラムでは、次のようなメッセージ・ボックスが順に表示される。メッセージとして表示されている文字列はMessageBoxButtons列挙体の要素名だ。

 
 
 
 
 
 
 
すべての種類のボタンを使用したメッセージ・ボックス
パラメータとして指定するMessageBoxButtons列挙体の要素名をメッセージとして表示している。

メッセージ・ボックスのアイコン

 メッセージ・ボックスでは、ユーザーに注意を促すアイコンを表示することもできる。

 次のサンプル・プログラムは、すべての種類のアイコンの付いたメッセージ・ボックスを順に表示していく。表示されるアイコンの種類は、Showメソッドの4番目のパラメータで指定している。ここにはMessageBoxIcon列挙体(System.Windows.Forms名前空間)の値を指定する。このサンプル・プログラムでは、列挙体のそれぞれの名前について、順にメッセージ・ボックスを表示している(TIPS:列挙体の名前を列挙するには?参照)。

// allicons.cs

using System;
using System.Windows.Forms;

class msgbox {
  public static void Main() {

    foreach (string name
          in Enum.GetNames(typeof(MessageBoxIcon))) {

      DialogResult dr = MessageBox.Show(
                          name,
                          "MessageBoxIcon一覧",
                          MessageBoxButtons.OK,
                          (MessageBoxIcon)Enum.Parse(
                            typeof(MessageBoxIcon), name));
      Console.WriteLine(dr);
    }
  }
}
// コンパイル方法:csc allicons.cs
アイコンの種類ごとにメッセージ・ボックスを表示するC#のサンプル・プログラム(allicons.cs)

 このサンプル・プログラムでは、次のようなメッセージ・ボックスが順に表示される。メッセージとして表示されている文字列はMessageBoxIcon列挙体の要素名だ。

すべての種類のアイコンを使用したメッセージ・ボックス
パラメータとして指定するMessageBoxIcon列挙体の要素名をメッセージとして表示している。

 サンプル・プログラムでは、先ほどとは少し異なり、MessageBoxIcon列挙体を要素名で列挙し、Enum.Parseメソッドにより名前からその値を取得してShowメソッドのパラメータに設定している。このような遠回りな方法をとっている理由は、同じアイコン(例えばHandとErrorとStop)を指す列挙体の値は、要素の名前が異なっていても、その内部的な値(int型の整数値)が同じであるためだ。

 なお、MessageBox.Showメソッドの戻り値は、DialogResult列挙体(System.Windows.Forms名前空間)の値(OK、Cancel、Yes、No、Retry、Ignore、Abort、None)で、これにより押されたボタンを判別することができる。End of Article

カテゴリ:Windowsフォーム 処理対象:ダイアログ・ボックス
使用ライブラリ:MessageBoxクラス(System.Windows.Forms名前空間)
使用ライブラリ:MessageBoxButtons列挙体(System.Windows.Forms名前空間)
使用ライブラリ:MessageBoxIcon列挙体(System.Windows.Forms名前空間)
使用ライブラリ:DialogResult列挙体(System.Windows.Forms名前空間)
関連TIPS:列挙体の値を列挙するには?
関連TIPS:列挙体の名前を列挙するには?
 
この記事と関連性の高い別の.NET TIPS
メッセージ・ボックスのデフォルト・ボタンを変更するには?
列挙体の名前を列挙するには?
列挙体の値を列挙するには?
メッセージ・ボックスからヘルプを表示するには?
Windowsのシステム・フォルダのパスを取得するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

TechTargetジャパン

Insider.NET フォーラム 新着記事
  • Kinectが切り開く“夢の近未来” (2012/2/2)
     日本を含めた世界中でKinect for Windowsセンサー商用版とSDK正式版がリリース。未来のコンピューティングはどう変化するのか?
  • 3つの視点でネイティブと.NETの適材適所を考察 (2012/1/31)
     アプリ開発は「ネイティブ」と「.NET」、どちらが最良? その問いには「適材適所」と答えるしかない。では、“適所”は一体どこかを考察する
  • SQL Azure Data Sync入門 (2012/1/30)
     SQL Azure/SQL Serverデータベース間のデータ同期を簡単に実現するサービスとは? その仕組みや使用手順を解説
  • Windows Phoneアプリ市場の現状を分析する (2012/1/27)
     Windows Phone のアプリ・ストアに日々登録されている多種多様なアプリ。カテゴリ別のアプリ数は? 市場の現状を明らかにする

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH