通知系统托盘图标上停留的应用关闭(Notify Icon stays in System Tray

2019-06-25 10:16发布

我只从系统托盘中运行的应用程序,它的唯一目的是为通过巴隆提示信息的用户。

它从一个小麻烦运行良好,除了。 当应用程序使用任务管理器关闭(而不是使用上下文菜单)图标支左右在系统托盘中,直到你在它悬停,然后在另一个实例打开你的第二图标坐在第一旁边。

我形成闭合事件看起来是这样的,它什么也不做:

private void frmMain_FormClosed(object sender, FormClosedEventArgs e)
{
    ntfyIcon.Visible = false;
    ntfyIcon.Icon = null;
    ntfyIcon.Visible = false;
    ntfyIcon.Dispose();
}

这已经报道微软连接 ,并已被微软关闭下Won't Fix的,显然,这是应该发生的,但我希望有人有一个解决方案。

我在想沿着清洁应用开放系统托盘线的东西?

谢谢

Answer 1:

对我来说,当调用工作Application.DoEvents()后设置Icon ,以null和处理的NotifyIcon

private void frmMain_FormClosed(object sender, FormClosedEventArgs e)
{
    ntfyIcon.Icon = null;
    ntfyIcon.Dispose();
    System.Windows.Forms.Application.DoEvents();
}


文章来源: Notify Icon stays in System Tray on Application Close