1

我想在我的程序的 Application.Idle 事件中显示一个 BalloonTip,但由于某种原因,Application.Idle 事件仅在我将鼠标悬停在 NotifyIcon 上时才会触发。是什么赋予了?

4

1 回答 1

1

你确定Application.Idle不会被解雇?简单的方法是在代码进入事件时登录文件并查看是否发生这种情况。

还要了解此事件可能不适合您的需求 - 当消息泵变空时发生(通常没有键盘/鼠标输入) - 因此您可能会过于频繁地收到此事件(请参阅此 SO 线程以了解更多信息)。在这种情况下,我怀疑 windows 正在抑制气球提示,可能是因为它显示得太频繁了。

因此,您可以编写代码以仅在最后 2-3 秒内未显示提示时才显示提示。您可能需要查看空闲检测的不同实现以满足您的要求 - 请查看:

  1. http://ellisweb.net/2008/02/detecting-application-idle-state-in-windows-forms/
  2. http://blog.opennetcf.com/ctacke/2009/05/19/DetectingApplicationIdle.aspx
  3. http://www.codeproject.com/KB/miscctrl/Application_Idle.aspx
于 2011-05-13T04:58:27.307 回答