Share via


ダイアログ ボックスへのユーザー入力

ダイアログ ボックスは、通常、アプリケーションで使用するデータをユーザーが入力するときに使用します。 ユーザーが入力した情報は、ダイアログ ボックスが表示されるフォームで処理されます。 ダイアログ ボックスを使用するときには、そのダイアログ ボックスがどのように閉じられるか、つまりユーザーがダイアログ ボックスを閉じた "結果" がどうなるかを知ることが重要です。たとえば、ユーザーが [キャンセル] をクリックした場合、入力したデータは保持されずに破棄されます。 Form.DialogResult プロパティを使用すると、ダイアログ ボックスがどのように閉じられるかを確認できます。

ダイアログ ボックスを表示するフォーム (ダイアログ ボックスの親フォーム) で DialogResult プロパティの値を使用して、[OK] ボタンと [キャンセル] ボタンのどちらがクリックされたのかを確認できます。 返された DialogResult の値に基づいて、ダイアログ ボックスの情報を取得する必要があるかどうかを判断します。 ダイアログ ボックスで、Button コントロールを使用せずに DialogResult を返す場合は、ダイアログ ボックスの DialogResult プロパティの値を設定します。

フォームがモーダル ダイアログ ボックスとして表示されているときに [閉じる] (フォームの右上隅の X 印が付いたボタン) をクリックすると、フォームは非表示になり、DialogResult プロパティが DialogResult.Cancel に設定されます。 ユーザーがダイアログ ボックスの [閉じる] ボタンをクリックしたときや DialogResult プロパティの値を設定したとき、Close メソッドは自動的には呼び出されません。 その代わり、フォームは非表示になり、ダイアログ ボックスの新しいインスタンスを作成しなくても再表示できます。 このため、フォームがアプリケーションで不要となった場合は、そのフォームの Dispose メソッドを呼び出す必要があります。

注意

フォームの Closing イベントのイベント ハンドラーで DialogResult プロパティを設定することにより、ユーザーが [閉じる] ボタンをクリックしたときに、DialogResult プロパティに代入された値をオーバーライドできます。

参照

処理手順

方法 : デザイン時にダイアログ ボックスを作成する

方法 : ダイアログ ボックスを閉じて、ユーザー入力を保持する

方法 : ダイアログ ボックスの結果を取得する

その他の技術情報

Windows フォームのダイアログ ボックス