我正在寻找一些想法,以便在 winforms 应用程序完成长时间运行的进程时提醒用户。这个过程可能需要几分钟或几个小时,具体取决于他们的输入,而且他们很可能只是最小化应用程序并同时处理其他事情。我知道我可以做一些像这样播放窗口声音的事情:
System.Media.SystemSounds.Exclamation.Play();
但是办公室里的大多数用户都没有扬声器,所以我认为它不会很有效。
我还可以做哪些其他技术来告诉用户:“醒醒!!!您的数据终于为您准备好了!!!”
谢谢!
一些想法:
其中,我最喜欢弹出的系统托盘图标+烤面包机。任务栏中的闪烁警报要求太高,电子邮件延迟太高,需要太多配置,音频警报有您在问题中提到的问题,消息框阻止其线程的执行,状态栏指示器太微妙。
如何让任务栏中的表单闪烁,就像大多数 IM 程序在收到新消息时闪烁一样。您需要 P/Invoke 才能获得该功能,但实际上非常简单:
http://pietschsoft.com/post/2009/01/26/CSharp-Flash-Window-in-Taskbar-via-Win32-FlashWindowEx.aspx
打开一个消息框..如果应用程序被最小化,它将在开始栏上闪烁。
您不需要扬声器来发出控制台哔声...
Console.Beep();
如果您有开发人员,您可以允许用户自定义他们希望收到通知的方式。时间。