Il y a beaucoup de questions sur SO qui posent le même doute. La solution à ce problème est de définir
notifyIcon.icon = null
et en appelant Dispose
dans l'événement FormClosing.
Dans mon application, il n'y a pas de formulaire de ce type mais une icône de notification qui est mise à jour sur les événements. Lors de la création, je cache mon formulaire et je fais ShowInTaskbar
propriété false
. Je ne peux donc pas avoir d'événements "FormClosing" ou "FormClosed".
Si cette application reçoit un événement pour sortir, elle appelle Process.GetCurrentProcess().Kill();
pour sortir.
J'ai ajouté notifyIcon.icon = null
ainsi que Dispose before killing, mais l'icône reste dans la barre des tâches jusqu'à ce que je passe la souris dessus.
EDIT : Si je suppose que ce comportement est dû au fait d'appeler GetCurrentProcess().Kill()
Est-ce qu'il existe un moyen élégant de quitter l'application en vidant toutes les ressources et en supprimant l'icône de la barre d'état système ?