C#

【C#】メッセージボックスを実装してみる

こんにちは、リバティエンジニア[?]のFUNAです。 現役エンジニアとしてアプリケーション開発やWeb制作、SEOやブログ運営をしています。

今回は、C#でメッセージボックスを表示させてユーザーになにかを通知したり、質問する際に便利なクラスを紹介します。

C#のメッセージボックスとは(MessageBox)

そもそもメッセージボックス(MessageBox)とは、エラーメッセージを表示したり、ユーザーに確認を求める時などに使うことができます。

また、クラスの拡張機能(オーバーロード)で様々なボタンを配置したり、!(エクスクラメーションマーク)や?(クエスチョンマーク)アイコンを変えたりできとても便利な機能となっています。

エクスプローラ等を使っていると、ファイルを削除する際などに下の画像のような確認のダイアログが開きますが、それと同じようなものだと思ってください。

メッセージボックスを表示する

メッセージボックスを表示するには、MessageBoxクラス(System.Windows.Forms名前空間)のShowメソッドを使用します。

//メッセージボックスを表示する
MessageBox.Show("処理が正常に動作しませんでした。",
    "エラー",
    MessageBoxButtons.OK,
    MessageBoxIcon.Error);

このようにすると、題名が「エラー」概要が「処理が正常に動作しませんでした。」、エラーのアイコンと「OK」のボタンが表示されたメッセージボックスを表示することができます。

実際にコードを記述して表示してみてください。

基本的な記述はこのようにとても単純で簡単に記述できますね!

実際の使い方

では次に、実際に使ってみるときの例を出してみます。

冒頭で紹介したような、

このエクスプローラの表示を実現してみましょう。

この表示をする時のポイントは、

  1. タイトルが「ファイルの削除」
  2. 概要は「ファイルを削除しますか?」
  3. ボタンは2つ「はい」と「いいえ」

こんな感じですね。

2.概要は「ファイルを削除しますか?については、上記ではファイルの詳細が表示されていますが、今回は、ファイルのタイトルだけにしましょう。

これをコードで記述すると、

// 仮のファイル名を用意
string fileName = "sample.txt"

//メッセージボックスを表示する
MessageBox.Show($"ファイルを削除しますか?rn{fileName}",
    "ファイルの削除",
    MessageBoxButtons.OKCancel,
    MessageBoxIcon.Information);

このようになります。
今回は削除する予定のファイルは仮で文字列で定義しましたが、本来は、ファイル選択ダイアログのようなもので削除するファイルを取得して、ここの「fileName」にファイル名を入れましょう。

メッセージボックスのボタンの種類

メッセージボックスのボタンの種類は、上記のサンプルコードで第三引数に指定している箇所に指定します。

MessageBoxButtons説明
OK「OK」ボタンのみ。
OKCancel「OK」と「キャンセル」ボタン。
AbortRetryIgnore「中止」、「再試行」、「無視」ボタン。メッセージボックスの閉じるボタンが無効。
YesNoCancel「はい」、「いいえ」、「キャンセル」ボタン。
YesNo「はい」と「いいえ」ボタン。メッセージボックスの閉じるボタンが無効。
RetryCancel「再試行」と「キャンセル」ボタン。

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

続いて、メッセージボックスのアイコンの種類ですが、上記のサンプルコードで第四引数に指定している箇所に指定します。

MessageBoxIcon説明
Noneアイコンなし。メッセージボックスを表示するときに一般の警告音が鳴ります。
Hand赤丸に白いX(停止マーク)。メッセージボックスを表示するときにシステムエラーの音が鳴る。エラーメッセージを表示するときなどに使用する。
Question丸い吹き出しに疑問符記号。メッセージボックスを表示するときに「メッセージ(問い合わせ)」の音が鳴る。現在はこのアイコンの使用が推奨されておらず、下位互換性を維持するためにのみサポートされている。
Exclamation黄色い三角に感嘆符記号。メッセージボックスを表示するときに「メッセージ(警告)」の音が鳴る。ユーザーに確認をするときなどに使用する。
Asterisk丸い吹き出しに「i」。メッセージボックスを表示するときに「メッセージ(情報)」の音が鳴る。ユーザーに情報を表示するときなどに使用する。
StopHandと同じ。
ErrorHandと同じ。
WarningExclamationと同じ。
InformationAsteriskと同じ。

まとめ

今回は、C#でメッセージボックスを表示させてユーザーになにかを通知したり、質問する際に便利なクラスを紹介しました。

他にもC#についての記事をご紹介してますので、よかったら見ていってください。

[C#] Windows.Formsのイベントが発生する順番は?

[C#] ラムダ式はこれさえ見ればOK!簡単徹底解説


 

Kindle Unlimitedで無料で本が読める

 

Kindle Unlimitedを無料で試す

 

なら最初の30日間は無料でコーディング・デザイン・ブログ・英語・Youtubeの参考書・キャリア・副業・マーケティング・漫画・美容知識・雑誌などが読み放題です。

人気の本もあるので是非お試ししてみてください!30日以内に解約すればお金は全くかかりません。

 


最近の投稿

【今すぐ行動しよう】フリーランスエンジニアとブログの相性は抜群!

フリーランスエンジニアがスキルや経験から得たビジネスノウハウを共有する手段として「ブログ」は非常におすすめです。自身のスキルや知識のアウトプットや、実際に自分が経験したことを共有して同じような境遇の人の手助けになるような情報を公開することで自分に帰ってくるメリットは非常に多いです。今回はそのあたりについて紹介していきます。

【経験談】フリーランスのエンジニアは本当に大変なの?安定のコツやポイント

フリーランスのエンジニアは「大変だからやめとけ」という話をよく聞くので、そのことについて現役でフリーランスエンジニアとして生活している私が、その話の実態を解説しようと思います。フリーランスエンジニアの大変なところはもちろんありますが、それ以上にメリットが多いので私個人的には非常におすすめしています。

【幸福度UP】フリーランスエンジニアの「田舎暮らし」実現できます

フリーランスエンジニアとして田舎で暮らす人が増えてるって聞くけど、本当なのかな?どうやったら実現できるのか?今回はフリーランスエンジニアとして田舎で生活をしたいという方向けに、実現可能なのか、実現するにはどうすれば良いのかをご紹介します。

【単価交渉で収入アップ】フリーランスが単価交渉を成功させる4つのポイント

フリーランスが収入をアップさせるための重要な手段のひとつに「単価交渉」があります。今回は、現役でフリーランスとしてエンジニアをしている私が実践して効果のあった単価交渉の方法やコツをご紹介します。

【 今なら無料!】タスク管理ツール「Backlog」を無料で使う方法と手順

今回は、普段のタスク管理からプロジェクトの管理まで幅広く使えるツール「Backlog」を無料で使うための方法とその手段を画像つきで紹介しました。もし気に入らなければ、期間内に解約してしまえば費用はかかりません。また、以外と知られていない「フリープラン」も紹介しているので、是非参考にしてみてください。

Copyright© FUNA BLOG , 2021 All Rights Reserved.