- ベストアンサー
複数画面の画面遷移
早速質問します。 A,B,Cの3画面があり、それぞれの画面遷移(コマンドボタン押下時)は下のコードで遷移しています。 A→Bに遷移する場合、 Me.Visible=False B.Show vbModal Me.Visible=Treu B→Cに遷移する場合、 Me.Visible=False C.Show vbModal Me.Visible=Treu このようなコードを記述したら、最終的にCの画面のみが表示されます。 問題はここからで、Cの画面を閉じると、なぜかB画面とA画面の両方が表示されてしまいます。本当であればB画面だけが出て欲しいのですが。 モーダルで起動した画面を、非表示にして再表示した場合モードレスに変わってしまうのでしょうか。また、その回避方法を教えて下さい。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
下記、参考 URL 以下に同じ問題が記述されています。
その他の回答 (2)
- TAGOSAKU7
- ベストアンサー率65% (276/422)
>B→Cに遷移する場合、 > Me.Visible=False > C.Show vbModal > Me.Visible=Treu の最後がまずいのでは? B→Cに遷移する場合、 Me.Visible=False C.Show vbModal Me.Show vbModal ← ここ変更
- taknt
- ベストアンサー率19% (1556/7783)
A→Bに遷移する場合、 Me.Visible=False B.Show vbModal Me.Visible=Treu 上記を以下のようにしてみてはどうでしょうか? Me.Visible=False B.Show vbModal if b.Visible=false then Me.Visible=Treu else B.Show vbModal Me.Visible=Treu end if 未確認ですみませんが・・・。
補足
早速試したところだめでした。 C画面を閉じたところで、B画面とA画面が表示されてしまい、教えていただいたコードの「B.Show vbModal」で「B画面は既に表示されています(Error=400)」のエラーとなってしまいます。
補足
ありがとうございます。 ただ1つだけ問題があり、通常のWindows画面では問題ないのですが「仮想ディスクトップ」を実行していた場合、ディスプレイ外に移動していた画面が見えてしまいます。 これって、どうすることも出来ないのでしょうか。