2016-04-06 5 views
3

私はForm.Show Modalを実行して、ユーザーが表示されたフォームを閉じるまで強制的にコードを実行します。Form.hideは、コードをForm.Showの "vb6"のモーダルを超えて続けることを許可しますか?

このフォームはもう一度表示されるので、私はちょうどそれを隠すと思っています。これはうまくいくようですが、確認したかったのです。

ので:

  1. frmMessage.Show MODAL
  2. ユーザーがOKとfrmMessage.Hide
  3. コードはあなたがどちらか近いか、または許可するようにモーダルフォームを非表示にすることができます

答えて

4

を続けてクリックします実行を継続するための呼び出しコードアプリケーションが終了する前のある時点で、隠しフォームをアンロードする必要があります。私はフォームがまだ読み込まれて隠されているときにアプリケーションが常に正しくシャットダウンされないという問題がアプリケーションで発生しました。あなたの隠されたフォームが使用しているリソースに依存しているだけかもしれません。

+1

プラス1。 [Form.Show](https://msdn.microsoft.com/en-us/library/aa244181(v=60).aspx)のVB6ユーザーガイドのトピックでは、次のように述べています。* Showにモーダルフォームが表示された場合、コードは、フォームが隠されたり、アンロードされるまで実行されます。*そして、隠されたフォームは、プログラムのシャットダウンを常に止めます。 VB6ユーザーガイドのトピック[VB6フォームのライフサイクル](https://msdn.microsoft.com/en-us/library/aa242139(v=60).aspx)は、多くの関連情報を提供します – MarkJ

+1

@MarkJ The ' End'ステートメントは、フォームのアンロードイベントハンドラーのいずれも呼び出さずに、隠されているかどうか、モーダルであるかどうかにかかわらず、すべてのフォームをアンロードし、実行を終了します。そのように、それは推奨されていませんが、それでもこれを行います。フォームコレクションを繰り返し処理し、シャットダウンルーチンの一部としてそれぞれのコレクションをアンロードする方がよいでしょう。 – BobRodes

+0

良い点、@Marc、私はすでにすべてのフォームをループし、それらを閉じるコードを持っています。 –

関連する問題