.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」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間