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