2011-10-26 24 views
1

私はform.Dispose()でフォームを閉じますが、開いているすべてのメッセージボックスが閉じないという問題があります。彼らはまだ開いています。フォームを閉じるときにすべてのMessageBoxを閉じる方法は?これは可能ですか?フォームを閉じるとき閉じる開いているすべてのメッセージボックスを閉じる方法を

私はコンパクトなフレームワーク3.5

+0

メッセージボックスを取り除く最善の方法は、そのShow()メソッドを呼び出さないことです。 *非常に*控えめに使用してください。あなたが1つを表示しなければならない場合、自動的にそれを閉じることは理にかなっていません。 –

答えて

5

を使用していますこれは不可能です。 MessageBoxはuser32.MessageBox APIをラップし、ユーザーが応答するまで呼び出されるスレッドをブロックします。彼らはモーダルであるように設計されており、プロセスを終了して終了させる必要があります。

フォームを使用して独自のMessageBox実装を作成し、ShowDialogを使用してモーダルにすることができます。そうすれば、あなたは自分でそれを閉じることができます。

+0

thx多項式の説明 – senzacionale

+0

喜んでそれは助けた:) – Polynomial

関連する問題