件名そのまま。Microsoft のページは、いつ行方不明になるか分からないので、バックアップとして記事をあげておく。
この Q&A ページの要旨は以下のとおり:
- 1回目のフォルダー選択ウインドウを閉じた時点で、システムが他所のウインドウをアクティベートしてしまうため、2回目のフォルダー選択ウインドウがそれよりも背後になってしまう。
- 対応策としては1回目のフォルダ―選択ウインドウを閉じた後に、親ウインドウをアクティベートして、DoEvent で処理させればよいらしい。
- だが、親ダイアログの Load イベント中でフォルダー選択ダイアログを表示させている場合、その中でまだ開かれていない親ウインドウをアクティベートすることはできない。
- そこで、Load イベントでやっていたことを Shown イベントで行うようにした上で、親ウインドウ(というか自ウインドウか)のアクティベートを行うようにする。
実際やってみたところ、フォルダー選択ダイアログ2つを表示する場所を Loadイベントから Shown イベント中に移動させただけで直ってしまった。まぁ、親ウインドウをプログラムではなく、システムがアクティベートするから直ったというところだろうか。