NotifyIcon.ShowBalloonTip不保持超时

我显示通知信息:

notifyIcon.ShowBalloonTip(29000, "title", "message", ToolTipIcon.Info); 

它应该显示29000毫秒,但它会在不到一秒钟内消失。

我知道这是由操作系统控制的。 但应该有办法增加节目的持续时间?

使用Windows 7。

来自ShowBalloonTip上的MSDN文章

“操作系统强制执行最小和最大超时值,通常分别为10秒和30秒,但这可能会因操作系统而异。过大或过小的超时值都会调整到适当的最小值或最大值此外,如果用户似乎没有使用计算机(没有发生键盘或鼠标事件),则系统不会计算此时间超时。“

您可以阅读以下整个function:

http://msdn.microsoft.com/en-us/library/ms160064.aspx

在显示气球之前,请确保NotifyIcon可见:

 notifyIcon.Visible = true; //then show the balloon tip 

此外,如果显示任何其他气球提示,您的将被忽略。

http://msdn.microsoft.com/en-us/library/ms160065.aspx

它取决于操作系统设置,在每个操作系统中它是不同的。 最好的方法是使用自制的气球。

我知道这是一个非常古老的问题,现在可以回答,但它将来的参考和那些会遇到这个问题的读者。

好吧,我在我的一个winform应用程序中遇到了同样的问题,然后我遇到了这个Github链接–Windows Toast Notifications

是的,它很容易集成到您的c#winform应用程序中。 你所要做的就是 –

  • 从上面的Github链接下载代码。
  • 将以下类文件添加到c#winform应用程序中

    FormAnimator.cs

    NativeMethods.cs

  • Notifications.cs表单添加到您的应用程序

  • 在项目代码中创建一个Toast通知表单对象,并调用Show()方法来显示它。

示例代码

 var toastNotification = new Notification ( "My Notification", message, durationsTime, FormAnimator.AnimationMethod.Slide, FormAnimator.AnimationDirection.Up ); //PlayNotificationSound("normal"); toastNotification.Show();