Es gibt viele Fragen zu SO, die den gleichen Zweifel aufwerfen. Die Lösung hierfür ist das Einstellen
notifyIcon.icon = null
und Aufruf Dispose
im FormClosing-Ereignis.
In meiner Anwendung gibt es kein solches Formular, aber das Benachrichtigungssymbol, das bei Ereignissen aktualisiert wird. Bei der Erstellung verstecke ich mein Formular und mache ShowInTaskbar
Eigentum false
. Daher kann ich keine "FormClosing" - oder "FormClosed" -Ereignisse haben.
Wenn diese Anwendung ein Ereignis zum Beenden erhält, ruft sie Process.GetCurrentProcess().Kill();
zum Beenden auf.
Ich habe notifyIcon.icon = null
vor dem Töten sowohl hinzugefügt als auch entsorgt, aber das Symbol bleibt die Taskleiste, bis ich mit der Maus darüber fahre.
BEARBEITEN : Wenn ich davon ausgehe , dass dieses Verhalten auf einen Aufruf zurückzuführen GetCurrentProcess().Kill()
ist, gibt es eine elegante Möglichkeit, die Anwendung zu beenden, um alle Ressourcen zu löschen und das Symbol aus der Taskleiste zu entfernen.