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