C# 托盘栏中打开多个图标

C# 托盘栏中打开多个图标,c#,.net,winforms,notifyicon,C#,.net,Winforms,Notifyicon,我正在使用Windows应用程序,运行此应用程序时,托盘栏上会出现多个图标: 当我把鼠标移到这些图标上时,它们就消失了 有人知道为什么会这样吗 protected override void OnClosed(EventArgs e) { try { notifyIcon1.Visible = false; notifyIcon1.Icon.Dispose(); notifyIcon1.Dispose(); } c

我正在使用Windows应用程序,运行此应用程序时,托盘栏上会出现多个图标:

当我把鼠标移到这些图标上时,它们就消失了

有人知道为什么会这样吗

protected override void OnClosed(EventArgs e)
{
    try
    {
        notifyIcon1.Visible = false;
        notifyIcon1.Icon.Dispose();
        notifyIcon1.Dispose();
    }
    catch(Exception ex)
    {
    }
    base.OnClosed(e);
    Environment.Exit(0);
}

下面是我如何关闭系统托盘图标,以在我不久前编写的程序中显示完整的应用程序:

注意:这非常适合代码背后的事件处理程序,因此是this.Show()和this.Activate()


要么你自己没有清理图标,要么你的应用程序由于某种原因崩溃,无法自行清理。@J.Steen你能告诉我应该如何清理图标吗?除非你发布任何相关的简明代码,否则没有人能帮助你@Gurbaxsingbhangal:为什么要用一个空的
catch{}
块来处理异常?考虑到您的问题,您是否应该非常有兴趣查看您的
notifyIcon1
处理步骤是否引发异常?
            NotifyIcon sysTrayIcon = sender as NotifyIcon;
            sysTrayIcon.Visible = false;
            this.WindowState = WindowState.Normal;
            this.Show();
            this.Activate();