1. ホーム
  2. c#

[解決済み] C#でMessageBoxを作成するには?

2022-03-08 18:28:16

質問

C#を初めてインストールしたのですが、一見するとVB6とよく似ているように見えます。まずは「Hello, World!」を作ってみることにしました。UI編です。

フォームデザイナから始めて、"Click Me!という名前のボタンを作り、それをダブルクリックして、次のように入力しました。

MessageBox("Hello, World!");

以下のようなエラーが発生しました。

MessageBoxは「型」であるが「変数」として使用されている

なるほど、C#ではMessageBoxはObjectになるようです。以下のように試してみた。

MessageBox a = new MessageBox("Hello, World!");

以下のようなエラーが発生しました。 MessageBox does not contain a constructor that takes '1' arguments

今、私はこまっています。助けてください。

どのように解決するのですか?

MessageBox.Show は DialogResult も返すので、そこにボタンを配置すれば、ユーザーがクリックしたものを返してもらうことができます。たいていの場合、私は次のような書き方をする。

if (MessageBox.Show("Do you want to continue?", "Question", MessageBoxButtons.YesNo) == MessageBoxResult.Yes) {
     //some interesting behaviour here
}

これは少し扱いにくいと思いますが、これで仕事は完了です。

参照 https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.dialogresult で、ここで使用できる追加の enum オプションについて説明します。