0

我有一个 NotifyIcon 出现在系统托盘中,我想在第一次应用程序空闲时显示一个气球提示(如此处建议:C# 在 application.run() 之后执行代码)但 Idle 事件发生在图标出现之前在系统托盘中,导致气球不出现。如何在调用 ShowBalloonTip 之前强制出现 NotifyIcon?

4

2 回答 2

1

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

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

于 2011-03-07T01:27:53.047 回答
0

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

// Application has become idle
firstTimeIdle = true;

然后:

// Show notify icon
notifyIcon.Visible = true;
if (firstTimeIdle && !shownBalloon)
{
    notifyIcon.ShowBalloonTip(timeout, title, text, icon);
    shownBalloon = true;
}
于 2011-03-06T23:37:51.347 回答