こんにちわ。
VB6、XPで開発しています。
FormAと、FormBがあって、
FormAのコマンドボタンを押されると、処理が実行されて、
その処理が実行中は、FormBがFormAの手前に表示されて、
進捗状況を表示するプログラムを作っています。
進捗状況を表示するFormBが表示されている場合は、
FormAをアクティブにはしたくありません。
でも、FormAをHideにはしたくないです。
FormAからFormBを起動する場合は、vbModelessでshowしています。
この場合、デスクトップ表示などを行って、このプログラムに戻ってくると、
FormBがアクティブになっていてほしいのですが、FormAがアクティブに
なってしまうことがあります。
なので、現状は、以下の方法で、対応しています。
'----------
' FormA
'----------
Private Sub Form_Paint()
On Error Resume Next 'FormBがLoadされていないとエラーになる対策
FormB.SetFocus
Exit Sub
end sub
この方法が正解なのでしょうか?
みなさんならば、どうやって実現しますか?
ご意見を聞かせてもらえるとうれしいです。
よろしくお願いします。
FormB.Show vbModeless,FormA
とか
FormBがでてる間FormAをアクティブにしたくないなら
FormB.Show vbModeless,FormA
の後に
FormA.Enabled=False
として
FormBのUnlaodイベントで
FormA.Enabled=True
とか
abu さん。回答ありがとうございます。
その方法で、対処することにします。
ツイート | ![]() |