• 締切済み

モジュールのShowDialogで呼出したフォーム上で実行。さらにMe

モジュールのShowDialogで呼出したフォーム上で実行。さらにMe.Disposeを実行 (vb.net2003)。 当サイトは何度か利用させて頂いて感謝をしております。上記についてですが呼び出されたフォームは確かに消えるようになりました。が、モジュールに戻った時点でメッセージが出てモジュールが終了しません。原因は「既にフォームが消された」情報がモジュールに伝わっていないので ShowDialog が終わらずメッセージを出したと思われます。モジュール側で、Try***Finally***等の対策コードをつくる必要があると思われますが全くのおてあげです。よろしくご教授をお願いいたします。

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

モジュール自体は、ShowDialogで呼び出したものからのものだと思います。 ここら辺は、詳しいわけではありませんが、ShowDialog は、Form のインスタンスを表示していますから、だから、Try ~Finally で、そのインスタンスを破棄するようにしたらどうなのでしょうか?  Dim frm As New Form2  Try    frm.ShowDialog()  Finally    If Not frm Is Nothing Then      frm.Dispose()    End If  End Try