ダイアログフォームの戻り値を取得/設定する [C#]

C#でWindowsフォームアプリケーションで、フォームをダイアログボックスとして表示した時の戻り値を取得、設定する方法を紹介します。

本記事ではVisual Studioで作成した、Windowsフォームアプリケーションのプロジェクトに記述するコードを記載します。
Windowsフォームアプリケーションのプロジェクトを作成する方法については、以下の記事を参照してください。

Windowsフォームアプリケーションのプロジェクト(ソリューション)を作成する。[C#]
Visual StudioでC#のWindowsフォームアプリケーションのプロジェクト(ソリューション)を作成する方法を記載します。 ...

ダイアログフォームの戻り値を取得する

ダイアログフォームの戻り値は、System.Windows.Forms名前空間にあるFormクラスのShowDialogメソッドで表示したフォームから取得します。

ダイアログフォームの戻り値の取得

ShowDialogメソッドはSystem.Windows.Forms名前空間にあるDialogResult列挙型を返します。

DialogResult列挙型のメンバー一覧

DialogResult列挙型には次のメンバー(フィールド)が用意されています。

名前 説明
None 0 ダイアログボックスの結果がなし(Nothing)であることを示します。
OK 1 ダイアログボックスの結果が「OK」であることを示します。
Cancel 2 ダイアログボックスの結果が「キャンセル」であることを示します。
Abort 3 ダイアログボックスの結果が「中止」であることを示します。
Retry 4 ダイアログボックスの結果が「再試行」であることを示します。
Ignore 5 ダイアログボックスの結果が「無視」であることを示します。
Yes 6 ダイアログボックスの結果が「はい」であることを示します。
No 7 ダイアログボックスの結果が「いいえ」であることを示します。

メッセージボックスの戻り値の取得

DialogResult列挙型は、System.Windows.Forms名前空間にあるMessageBoxクラスの戻り値を取得する際にも使用します。

メッセージボックスの戻り値を取得するサンプル

ダイアログフォームの戻り値を設定する

ダイアログフォームの戻り値を設定する時は、ダイアログボックスとして表示したFormクラスのDialogResultプロパティに、「OK」や「Cancel」など、DialogResult列挙型のメンバーを指定します。

ダイアロフォームを表示して戻り値を設定するサンプルプログラムを作成します。

ダイアログフォームのデザイン

ダイアログフォームを以下のように作成します。

ダイアログの戻り値を設定するサンプルフォームのデザイン

フォームには、クリックした時にDialogResult.OKを設定してフォームを閉じるbutton1と、クリックした時にDialogResult.Cancelを設定してフォームを閉じるbutton2を配置します。

ダイアログフォームのコード

ボタンクリック時のイベントメソッドを実装します。

ダイアログフォームを表示するフォームのコード

上記のダイアログフォームを表示するフォームのコードです。

上記のコードをボタンクリックのイベントメソッドなどに記述します。

ダイアログフォームの表示と戻り値の設定~取得

サンプルプログラムを実行してダイアログフォームを表示します。

ダイアログの戻り値を設定するサンプルフォーム

ダイアログフォームのボタンをクリックします。

「OK」ボタンをクリックすると、OKが表示されます。

ダイアログの戻り値を設定するサンプルフォーム OK

「キャンセル」ボタンをクリックすると、Cancelが表示されます。

ダイアログの戻り値を設定するサンプルフォーム キャンセル