0

我正在开发一个 WPF/.NET 4 应用程序,该应用程序位于系统托盘中并定期向用户显示消息。

每次有消息时,我都希望将我的 NotifyIcon 从系统托盘的溢出区域提升到可见部分。如果我在 NotifyIcon 上调用“ShowBalloonTip”,这可以正常工作;但是,我不想使用标准的操作系统气球(我有一个自定义控件,它支持多个实例和自定义动画)。

可能吗?它似乎不允许显示空/不可见的气球,并且处理/重新添加图标没有预期的效果。我想知道是否应该考虑在每次收到消息时创建一个辅助托盘图标(如 Outlook 的“新邮件”图标),并在我的消息消失时将其删除。

4

1 回答 1

1

这是不可能的。通知区域的一个重要问题是每个程序员都认为他的应用程序足够重要,可以在时钟旁边。谦虚不是程序员的特质,这是一件好事。

然而,用户设置不同的优先级。他可能会运行三个以上的应用程序,这些应用程序都认为他们应该拥有崇高的地位。这真的失控了,我看过 Win98 机器的屏幕截图,其中 75% 的任务栏被重要程序覆盖。

这是不可持续的,微软对此做了一些事情。他们添加了溢出区域,以便为用户认为不那么重要的通知图标提供一个主页。作为一名计算机用户,它很快就会被我购买的新机器附带的任何铲子图标填充。从那里开始,我卸载这些东西的速度与它给我带来完全无用或难以理解的信息的次数成反比。唯一真正幸存下来的是那些从未展示过气球的人。

溢出区域的一个核心特性是程序无法做任何事情来提升自己回到时钟旁边。那将完全违背拥有它的意义。除了显示一个气球,用户需要知道它来自哪里。最好是对用户有意义且相关的东西。如果不是,那么您的卸载程序是您的产品中测试最多的部分。

您自己就是一台计算机,并且也与烦人的通知图标作斗争。将完全相同的逻辑应用于您自己的逻辑。别忘了问问别人他们对你的看法。而且,如果您的通知足够有用,它就会自行解决。您的用户会将其移回。因为这是他能做到的。

于 2013-08-10T22:29:58.813 回答