C# 停止任务栏闪烁

C# 停止任务栏闪烁,c#,winforms,taskbar,C#,Winforms,Taskbar,我知道我可以通过编程使某个特定窗口的任务栏项在发生变化时开始闪烁,但是,有没有什么方法可以阻止它在一段时间后以编程方式闪烁,或者至少有一个键盘快捷键可以让我的用户以某种方式停止闪烁?控制闪烁的函数使用一个带有uCount字段的结构来控制闪烁的次数。此外,dwFlags字段的一个可能值为FLASHW_STOP,以使闪烁停止 编辑:忘记是一个带C#标记的问题。。。所以。@thomas——令人惊讶的是,微软自己也同意你的观点 虽然有一个背景窗口闪烁其任务栏按钮比让它自动进入顶部并窃取输入焦点要好,但闪

我知道我可以通过编程使某个特定窗口的任务栏项在发生变化时开始闪烁,但是,有没有什么方法可以阻止它在一段时间后以编程方式闪烁,或者至少有一个键盘快捷键可以让我的用户以某种方式停止闪烁?

控制闪烁的函数使用一个带有uCount字段的结构来控制闪烁的次数。此外,dwFlags字段的一个可能值为FLASHW_STOP,以使闪烁停止

编辑:忘记是一个带C#标记的问题。。。所以。

@thomas——令人惊讶的是,微软自己也同意你的观点

虽然有一个背景窗口闪烁其任务栏按钮比让它自动进入顶部并窃取输入焦点要好,但闪烁的任务栏按钮仍然非常具有侵扰性。当任务栏按钮闪烁时,用户很难集中注意力,因此您应该假设用户会立即停止他们正在做的事情,以使闪烁停止。因此,只在需要立即注意的情况下保留任务栏闪烁


当然,谁知道谁真正遵守了这些准则。。。甚至是谁在读它们 使用: (1) 将NotifyIcon拖到表单上,或在应用程序中创建NotifyIcon notify=new NotifyIcon(); (2) 将图标属性设置为所需的图像 (3) 使用visible属性控制它在系统托盘上是否可见 (4) 调用ShowBallooText以显示弹出文本(最多64个字符)


无论哪种方式,您都应该在程序中添加一个选项,允许最终用户根据自己的感受打开/关闭此功能。我个人喜欢notify图标,因为ballon文本可以说“服务器宕机”

微软不再遵循他们自己的指导方针,因此期望其他软件开发人员这样做可能是不可能的。关于操作,我个人不喜欢闪烁任务栏图标、闪烁窗口焦点、将窗口强制到顶部的应用程序(通常当我在另一个应用程序中键入时,这种情况发生时,我的键入会激活任何具有焦点的控件并关闭对话框,因此我最终会错过任何通知)或托盘通知。应根据具体情况确定通知类型。我在应用程序工具栏/状态栏上显示一个带有悬停气球提示的图标。