Notifyicon气球提示未在C#中显示?

时间:2012-07-01 19:30:06

标签: c# winforms notifications notifyicon visual-c#-express-2010

我在form1_load

下使用此代码
notifyIcon1.Visible = true; 
notifyIcon1.ShowBalloonTip(5000, "Welcome", "Hello " + User, ToolTipIcon.Info); 

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

3 个答案:

答案 0 :(得分:17)

看起来你忘了像这样设置它的图标

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

另请阅读有关NI http://www.csharp411.com/notifyiconshowballoontip-issues/

问题的更多信息

答案 1 :(得分:13)

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

  1. 确保实际连接表单的Load事件。
  2. 确保您已为通知图标指定了一个图标。
  3. 另请注意,气球提示不能保证显示。请参阅msdn的NotifyIcon.ShowBalloonTip Method文章的备注部分:

      

    备注
    最小和最大超时值由操作系统强制执行,通常为10秒和30秒,   但是,这可以根据操作系统而变化。   将超时或太小的超时值调整为   适当的最小值或最大值。此外,如果用户这样做   似乎没有使用电脑(没有键盘或鼠标事件   然后系统不计算此时间   超时。

         

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

         

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

答案 2 :(得分:2)

以下是@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中右键单击任务栏,单击通知区域中的属性自定义... ,勾选始终在任务栏上显示所有图标和通知选项,单击确定