ダイアログ ボックスへのユーザー入力
ダイアログ ボックスは、通常、アプリケーションで使用するデータをユーザーが入力するときに使用します。 ユーザーが入力した情報は、ダイアログ ボックスが表示されるフォームで処理されます。 ダイアログ ボックスを使用するときには、そのダイアログ ボックスがどのように閉じられるか、つまりユーザーがダイアログ ボックスを閉じた "結果" がどうなるかを知ることが重要です。たとえば、ユーザーが [キャンセル] をクリックした場合、入力したデータは保持されずに破棄されます。 Form.DialogResult プロパティを使用すると、ダイアログ ボックスがどのように閉じられるかを確認できます。
ダイアログ ボックスを表示するフォーム (ダイアログ ボックスの親フォーム) で DialogResult プロパティの値を使用して、[OK] ボタンと [キャンセル] ボタンのどちらがクリックされたのかを確認できます。 返された DialogResult の値に基づいて、ダイアログ ボックスの情報を取得する必要があるかどうかを判断します。 ダイアログ ボックスで、Button コントロールを使用せずに DialogResult を返す場合は、ダイアログ ボックスの DialogResult プロパティの値を設定します。
フォームがモーダル ダイアログ ボックスとして表示されているときに [閉じる] (フォームの右上隅の X 印が付いたボタン) をクリックすると、フォームは非表示になり、DialogResult プロパティが DialogResult.Cancel に設定されます。 ユーザーがダイアログ ボックスの [閉じる] ボタンをクリックしたときや DialogResult プロパティの値を設定したとき、Close メソッドは自動的には呼び出されません。 その代わり、フォームは非表示になり、ダイアログ ボックスの新しいインスタンスを作成しなくても再表示できます。 このため、フォームがアプリケーションで不要となった場合は、そのフォームの Dispose メソッドを呼び出す必要があります。
注意
フォームの Closing イベントのイベント ハンドラーで DialogResult プロパティを設定することにより、ユーザーが [閉じる] ボタンをクリックしたときに、DialogResult プロパティに代入された値をオーバーライドできます。
参照
処理手順
方法 : ダイアログ ボックスを閉じて、ユーザー入力を保持する