我正在寻找一些想法,以便在winforms应用程序完成长时间运行的过程时提醒用户。这个过程可能需要几分钟或几个小时,具体取决于他们的输入,而且他们很可能只是最小化应用程序并在此期间处理其他事情。我知道我可以做像这样的窗户声音:
System.Media.SystemSounds.Exclamation.Play();
但办公室里的大多数用户都没有扬声器,所以我觉得它不会很有效。
我可以做些什么来告诉用户,“醒醒!!!你的数据已经准备就绪,最后!!!!”
谢谢!
答案 0 :(得分:3)
一些想法:
其中,我喜欢系统托盘图标+烤面包机弹出最好的。任务栏中的闪烁警报要求太高,电子邮件有太多延迟并且需要太多配置,音频警报会出现问题中提到的问题,消息框阻止执行它的线程,状态栏指示器太微妙。
答案 1 :(得分:2)
这听起来像是任务栏Notification Area中通知的理想用例。
这样做的好处是可以立即警告用户,而不必依赖用户计算机上可能有或没有的声音,也不会有消息框的侵入性。
...除了你可能会说“完成过程”: - )
答案 2 :(得分:1)
打开一个消息框..如果应用程序最小化,它将在起始栏上闪烁。
答案 3 :(得分:1)
如何在任务栏中闪烁表单,类似于收到新邮件时大多数IM程序闪烁的方式。您需要P / Invoke才能获得该功能,但实际上非常简单:
http://pietschsoft.com/post/2009/01/26/CSharp-Flash-Window-in-Taskbar-via-Win32-FlashWindowEx.aspx
答案 4 :(得分:0)
您不需要发言人来执行console beep ...
Console.Beep();
答案 5 :(得分:0)
如果你有开发者,你可以允许用户自定义他们想要通知的方式。时间。