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