「モードレスフォームからモーダルフォームを表示し、モーダルフォーム表示中はモードレスフォームに遷移できないように」というところで、
・モーダルフォーム表示中は元のモードレスフォームを表示させておくように見せなくてよい
とのことで、解決をいそぐことができた。
というのも、元フォームをモードレスフォームのまま表示させると、モーダルフォームを閉じた時点でモードレスフォームも消えて無くなるという事象があったためである。
実装方法であるが、
・一連のフォームをコントロールするためのクラスモジュールを作成し、そこからフォームのコントロールを行う。
・モーダルフォームのイベントはフォーム側に残した。
・モードレスフォームではイベント感知はフォームで行うものの、イベントはすべてクラスファイル側に記載した。
・モードレスフォームを呼ぶ際、クラスファイル自身(me)を引数として渡した。これによりフォーム側では受け取ったクラスファイルのイベントや値を使うことができた。
・モーダルフォームを表示時は
クラスファイルとモーダルフォームの結合度が非常に強いが、フォームの呼出一連の動きをパッケージ化できてしまうので部品として利用できる。
まだうまいやり方はあるかもしれない。
実際のコードなどもっと知りたい情報もあるだろう。が、テクニックに走ってしまうのは本意ではないのでこのへんで。