NotifyIconが消えることを保証する方法は?
-
03-07-2019 - |
質問
子(モーダル)フォームの1つでNotifyIconコントロールを使用していますが、正常に動作しています。 Sバルーンのヒントを期待どおりにハウリングし、マウスイベントなどを処理します。しかし、期待したときに消えません。具体的には、子フォームを終了し、親が制御を取り戻したとき、アイコンはまだ残っています。ツールチップにアクセスできるため、非常に「生きている」ことができます。そのまま。
その後、アプリケーション全体を終了すると、カーソルをポイントするまで画像が残ります。マウスでクリックすると消えます。
どうすれば正常に動作させることができますか? [OK]は通常、悪い言葉です:-0作成したフォームが消えたときに、どのようにすれば消えますか?
これを引き起こしている原因を誰かが説明できますか?
G
編集:閉じたフォームでDisposeメソッドを呼び出すと、これは機能しますが、実際にこれを行う必要がありますか? G
解決
これが違いを生むかどうかはわかりませんが、子フォームが閉じるときにNotifyIconでDispose()を呼び出していますか?
編集:編集を見ただけです。はい、これが役立つことは驚きではありません。そうするべきです。カバーの下で何かが管理されていないリソースを使用しているので、それをリリースする必要があります。一般に、アプリ内で使用しているIDisposableを実装するものはすべて、自分で処理して破棄してください。
他のヒント
Icon.Visible = false
も機能します。とにかく、Windowsハンドルを破棄するには、 Dispose
を呼び出す必要があります。
所属していません StackOverflow