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

问题描述 投票:1回答:1

我使用.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以来它没有使用。
  • 吐司是由于应用程序状态更改而显示的,而不是由于单击等用户操作而显示的。
c# .net windows-10 toast notifyicon
1个回答
0
投票

所以我决定坚持处理通知图标实例并在每次显示Toast通知时重新创建它。我不认为这很好,但我找不到更好的解决方案。

我还在应用程序关闭时处理通知图标,以清除先前显示的通知中的通知中心。否则,当另一个应用程序显示Toast时,最后一个显示。

© www.soinside.com 2019 - 2024. All rights reserved.