Уведомления о всплывающих подсказках не удаляются из системного трея?

Я создал программу VB.Net, которая использует следующий код для отправки всплывающих подсказок в системный трей:

notify = New NotifyIcon
notify.Visible = True
notify.BalloonTipTitle = title
notify.BalloonTipText = body
notify.Icon = SystemIcons.Application
notify.ShowBalloonTip(100000)

Однако значок этого уведомления остается в системном трее после того, как пользователь закрыл приложение, и кажется, нет простого способа удалить его, щелкнув по нему.

Как я могу умереть с этой проблемой?


person J. Chapman    schedule 07.03.2019    source источник


Ответы (1)


Это потому, что вы не удаляете объект NotifyIcon. Почему именно вы создаете его в коде в первую очередь? Если у вас нет особой причины не делать этого, вы должны добавить его в форму в дизайнере, а затем просто установить свойства и вызвать методы в коде. Таким образом, объект будет удален, когда ваша форма будет. В противном случае вам нужно удалить его самостоятельно, когда вы закончите с ним, что означает сохранение ссылки до тех пор, пока это необходимо, и явный вызов Dispose.

person jmcilhinney    schedule 07.03.2019