SOには同じ疑問を投げかける多くの質問があります。これに対する解決策は、設定することです
notifyIcon.icon = null
Dispose
FormClosing イベントでそれを呼び出します。
私のアプリケーションでは、そのようなフォームはありませんが、イベントで更新される通知アイコンがあります。作成時に、フォームを非表示にしてShowInTaskbar
プロパティを作成しますfalse
。したがって、「FormClosing」または「FormClosed」イベントを持つことはできません。
このアプリケーションが exit するイベントを取得すると、exit を呼び出しProcess.GetCurrentProcess().Kill();
ます。
殺す前に破棄するだけでなく追加notifyIcon.icon = null
しましたが、マウスをその上に置くまでアイコンはタスクバーのままです。
編集:この動作が呼び出しによるものであると仮定するとGetCurrentProcess().Kill()
、すべてのリソースをクリアしてシステムトレイからアイコンを削除するアプリケーションを終了するエレガントな方法はありますか?