强制NotifyIcon出现在系统托盘中

时间:2011-03-06 23:22:28

标签: c# notifyicon

我有一个出现在系统托盘中的NotifyIcon,我想在第一次应用程序空闲时显示气球提示(如此处所示:C# execute code after application.run())但是Idle事件发生在Icon出现之前系统托盘,导致气球不出现。在调用ShowBalloonTip之前,如何强制NotifyIcon出现?

2 个答案:

答案 0 :(得分:1)

这是一个相当基础的竞赛,它是另一个处理图标的过程。 Windows资源管理器。你不知道什么时候处理事情。在设置Visible = true之后调用Thread.Sleep(500)应该显着提高几率。

请考虑在程序启动时显示图标。

答案 1 :(得分:0)

为什么不在空闲时设置标志,然后在将通知图标设置为可见后检查标志的状态:

// Application has become idle
firstTimeIdle = true;

然后:

// Show notify icon
notifyIcon.Visible = true;
if (firstTimeIdle && !shownBalloon)
{
    notifyIcon.ShowBalloonTip(timeout, title, text, icon);
    shownBalloon = true;
}