.NET NotifyIcon 在 Windows 10 中显示两次 toast 通知

我使用 .NET Framework System.Windows.Forms.NotifyIcon 类来显示托盘图标和托盘通知。当我在其实例上调用 ShowBalloonTip 时,首先显示之前显示的通知,然后隐藏,并且仅在一段时间后才显示预期的通知。除非我从通知中心手动删除它们,否则似乎首先显示历史通知。


我可以以编程方式做些什么来防止再次显示历史通知?


这是我初始化通知图标的方式:


notifyIcon.Icon = Properties.Resources.tray_icon;

notifyIcon.Visible = true;


notifyIcon.BalloonTipTitle = Language.TrayMessageTitle;

这是我展示吐司的方式:


notifyIcon.BalloonTipIcon = icon;

notifyIcon.BalloonTipText = message;

notifyIcon.ShowBalloonTip(0);

该图标是 ToolTipIcon.Error 或 ToolTipIcon.Info,我不会两次显示带有相同图标的 toast,因此它们总是切换。但这似乎无关紧要。

超时参数为 0,因为自 Windows Vista 以来未使用它。

Toast 显示为应用程序状态更改的结果,而不是用户操作(如单击)的结果。


慕工程0101907
浏览 239回答 1
1回答

SMILET

所以我决定坚持处理通知图标实例并在每次显示 toast 通知时重新创建它。我不认为这很好,但我找不到更好的解决方案。我还在应用程序关闭时处理通知图标,以从以前显示的通知中清除通知中心。否则,当另一个应用程序显示 toast 时,最后一个会首先显示。
打开App,查看更多内容
随时随地看视频慕课网APP