Problem z NotifyIcon nie znika w aplikacji Winforms

Wcześniej uzyskałem aplikację .Net 3.5 C # Winforms. Nie ma takiego GUI, po prostu NotifyIcon z ContextMenu.

Próbowałem ustawić NotifyIcon na visible = false i usunąć go w zdarzeniu Application_Exit w następujący sposób:

        if (notifyIcon != null)
        {
            notifyIcon.Visible = false;
            notifyIcon.Dispose();
        }

Aplikacja dostaje się do kodu wewnątrz nawiasów, ale zgłasza wyjątek null ref, gdy próbuje ustawić Visible = false.

Przeczytałem w kilku miejscach, aby umieścić je w formularzu zamknięcia, ale ten kod nigdy nie zostanie trafiony (może dlatego, że nie mam formularza pokazującego jako taki?).

Gdzie mogę umieścić ten kod, aby działał? Jeśli go nie włożę, dostaję irytującą ikonę utrzymywania na tacy, dopóki nie przesuniesz myszy nad nią.

Twoje zdrowie.

EDYTOWAĆ

Właśnie coś ekstra zauważyłem ...........

Używam ClickOnce w aplikacji ......... jeśli po prostu wyjdę z aplikacji przez ContextMenu w NotifyIcon, żaden wyjątek nie jest rejestrowany.

Tylko wtedy, gdy zdarzenie Application_Exit jest uruchamiane po sprawdzeniu przez aplikację, czy jest to aktualizacja ..

private void CheckForUpdate()
{
    EventLogger.Instance.LogEvent("Checking for Update");
    if (ApplicationDeployment.IsNetworkDeployed && ApplicationDeployment.CurrentDeployment.CheckForUpdate())
    {
        EventLogger.Instance.LogEvent("Update available - updating");
        ApplicationDeployment.CurrentDeployment.Update();
        Application.Restart();
    }
}

czy to pomaga?

questionAnswers(6)

yourAnswerToTheQuestion