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

更新 : 2007 年 11 月

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

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

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

メモ :

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

参照

処理手順

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

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

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

その他の技術情報

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