7

子 (モーダル) フォームの 1 つで NotifyIcon コントロールを使用していますが、正常に動作しています。期待どおりにバルーン ヒントを表示したり、マウス イベントを処理したりします。ただし、予想どおりに消えません。具体的には、子フォームを終了し、親がコントロールに戻ってもアイコンは残ります。ツールチップにアクセスできるので、いわば「生きている」のです。

その後、アプリケーション全体を終了しても、カーソルをその上に置くまで画像は残ります。マウスを合わせると消えます。

正常に動作させるにはどうすればよいですか?通常は悪い言葉です:-0 それを作成したフォームが消えると、どうすればそれを消すことができますか?

誰かがこれを引き起こしていることを説明できますか?

G

編集:クローズドエバーントのフォームで Dispose メソッドを呼び出すと、これは機能しますが、本当にこれを行う必要がありますか? G

4

3 に答える 3

5

これが違いを生むかどうかはわかりませんが、子フォームが閉じたときに NotifyIcon で Dispose() を呼び出していますか?

編集:あなたの編集を見たところです。はい、これが役立つことに驚かないでください。そうする必要があります。内部で何かが管理されていないリソースを使用しており、それを解放する必要があります。一般に、使用している IDisposable を実装するアプリ内のものはすべて、自分自身に有利に働き、それを破棄します。

于 2009-03-05T15:58:05.700 に答える
1

この質問も同様です。

新しいプログラムインスタンスがシステムトレイをクリーンアップすることに問題がない場合は、あらゆる種類のシャットダウンでクリーンアップを保証しようとするのではなく、以下は通知トレイのクリーンアップをシミュレートします。これは、ユーザーのカーソルを実際に移動する必要のない、ユーザーマウスオーバーのクリーンアップをシミュレートするSendMessageソリューションを使用します。

Windows 7マシンでは、名前を。Notification Areaに置き換える必要があることに注意してくださいUser Promoted Notification Area

于 2010-11-24T09:06:28.050 に答える