通知图标气球提示未在C#中显示?

Hun*_*ell 10 c# notifications notifyicon winforms visual-c#-express-2010

我在form1_load下使用此代码

notifyIcon1.Visible = true; 
notifyIcon1.ShowBalloonTip(5000, "Welcome", "Hello " + User, ToolTipIcon.Info); 
Run Code Online (Sandbox Code Playgroud)

我甚至检查了我的注册,价值是1.为什么气球没有显示?我的通知图标中有一个图标.它出现了.虽然Baloon不是!

Hat*_*oft 17

看起来你忘了像这样设置Icon

notifyIcon1.Icon = SystemIcons.Exclamation;
notifyIcon1.Visible = true; 
notifyIcon1.ShowBalloonTip(5000, "Welcome", "Hello " + User, ToolTipIcon.Info); 
Run Code Online (Sandbox Code Playgroud)

另请阅读有关NI http://www.csharp411.com/notifyiconshowballoontip-issues/问题的更多信息.


Met*_*urf 13

您可能需要发布表单加载事件中的其余代码,但这里有一些建议:

  1. 确保实际连接表单的Load事件.
  2. 确保您已为通知图标指定了一个图标.

此外,请注意不保证气球提示显示.请参阅msdn的NotifyIcon.ShowBalloonTip方法文章的备注部分:

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

一次只能在任务栏上显示一个气球提示.当任务栏上当前显示气球提示时,尝试显示气球提示会导致超时值被忽略.根据操作系统以及气球提示是来自另一个应用程序还是相同的应用程序,行为略有不同.当第二个气球提示来自另一个应用程序时,无论超时值如何,第一个气球提示将在第二个气球提示出现之前显示最小超时值.在大多数情况下,如果气球提示来自同一个应用程序,则第一个气球提示会在另一次调用ShowBalloonTip方法时立即关闭.在某些情况下,第二个气球将在第一个气球的顶部打开.

标题文本将以气球顶部附近的粗体显示.

  • +1表示"确保您已为通知图标指定了图标.".我以为在我分配一个新图标之前,会以某种方式显示默认图标. (3认同)