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

我在form1_load下使用此代码

notifyIcon1.Visible = true; notifyIcon1.ShowBalloonTip(5000, "Welcome", "Hello " + User, ToolTipIcon.Info); 

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

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

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

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

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

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

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

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

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

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

以下是@MetroSmurf已经提到的一些示例代码。 注意this.InitializeComponent(); 必须在显示NotifyIcon之前调用(通常在表单构造函数中)。

 public Form1() { this.InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { notifyIcon1.Icon = new Icon(@"C:\SomePath\MyIcon.ico"); notifyIcon1.Visible = true; notifyIcon1.ShowBalloonTip(5000, "Welcome", "Hello " + User, ToolTipIcon.Info); } 

还要确保将窗口配置为允许通知。 在Windows 7中右键单击任务栏,单击“通知”区域中的“ 属性” ,“ 自定义… ”,勾选“任务栏上始终显示所有图标和通知”选项,然后单击“ 确定”