推しミネラルウォーターはありますか?

早速質問します。
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画面だけが出て欲しいのですが。
モーダルで起動した画面を、非表示にして再表示した場合モードレスに変わってしまうのでしょうか。また、その回避方法を教えて下さい。

A 回答 (3件)

下記、参考 URL 以下に同じ問題が記述されています。



参考URL:http://www7.big.or.jp/~pinball/discus/vb/46218.h …

この回答への補足

ありがとうございます。
ただ1つだけ問題があり、通常のWindows画面では問題ないのですが「仮想ディスクトップ」を実行していた場合、ディスプレイ外に移動していた画面が見えてしまいます。
これって、どうすることも出来ないのでしょうか。

補足日時:2003/03/06 16:42
    • good
    • 0

>B→Cに遷移する場合、


> Me.Visible=False
> C.Show vbModal
> Me.Visible=Treu

の最後がまずいのでは?

B→Cに遷移する場合、
 Me.Visible=False
 C.Show vbModal
 Me.Show vbModal ← ここ変更
    • good
    • 0

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)」のエラーとなってしまいます。

補足日時:2003/03/05 10:25
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!