AというフォームからBというフォームをShowで起動した時,
Bのフォームの裏でAも稼動したままにしたいのですがどうしたら
いいでしょうか。
また,Bのフォームが開いているときにはAのフォームの操作は不可に
したいです。
現在は Form_B.show vbModal という感じでフォームのBを開いてます。
・・・何が動いてるんでしょうね、Aで (- -)?
かもめ様が現行で使用しているvbModalでは、駄目ですか?
でなければ、Bを表示した時に、AのEnabledを変更するとか。
これくらいしか思いつきません。見当外れならごめんなさい。
Aのフォームを表示させる必要が無ければ
Form_B.show vbModal
Me.Hide
で、どうでしょうか?
Form Bを起動(実行)しながら、同時にForm Aのコードも実行(進行)し続けるという意味?
それは、場合によっては、不可能なのでは?深読みしすぎですか?
読んだ印象では、vbModalを使いたくないようにも読めるんですけど。
誤爆だったらごめんなさい。
仕様といたしましては
Aで何件かに対して処理を行うとします。
それはコマンドボタンによって発動?します。
ただ,コマンドボタンをクリックした時にはBのフォーム
が開きます。
BのフォームではAの処理の件数のみを表示させます。
「○件中 △件処理中・・・」
のようにです。
この場合,Bの表示の裏側でAが動いてないとBの処理件数
が変化しません。また,Bの表示中はAに対しての動作は不可したい
のです。
現在,Do Event を使って試しています。
質問の仕方が曖昧ですいませんでした。
こんな感じ?
Form_B.Show vbModeless
Me.Enabled = False
処理
Unload Form_B
Me.Enabled = True
LESIAさんのコードで試したところ上手くいきました。
モードレスで開いてフォームAのenableをfalseにして
イベントの発生を不可にすればよかったんですね。
どうも,ありがとうございました。
ツイート | ![]() |