NotifyIcon 的 MouseClick 事件反应缓慢

Slow reaction of MouseClick event for NotifyIcon

我注意到 NotifyIcon 的左键单击事件有奇怪的行为。

我有这样的代码:

private void notifyIcon2_MouseClick(object sender, MouseEventArgs e)
{
   if (e.Button == System.Windows.Forms.MouseButtons.Left)
      {
            Console.WriteLine("Hello!");
      }
}

问题是点击托盘字符串 "Hello" 中的 notifyicon 后不会立即显示,需要大约 0.5 秒(半秒)才能做出反应。这就是为什么我不能为每次点击图标添加某种变量计数器 - 它反应太慢而无法捕捉所有点击并增加我的变量。

这个问题有什么解决办法吗?我试过MouseClick、MouseDown、MouseUp和Click事件,反应都很慢。

谢谢!

我认为这与他们here 的这个小评论有关(我知道这不是这个 NotifyIcon)。

Note that the LeftClickCommand fires after a short delay (as opposite to the DoubleClickCommand that fires immediately). This is because there is a time span between a first click and a second click for the OS to consider the mouse action a double-click. The NotifyIcon is smart enough to wait this period in order to make sure the LeftClickCommand is only fired if the user does not click a second time within that period.

我试过了,表格本身也存在这种延迟。这就是这个活动的运作方式。

在我的情况下,为 DoubleClick 事件实施处理程序不是解决方案,我只想单击一下即可打开 NotifyIcon 的弹出窗口。

我在代码补全中找到了 NoLeftClickDelay 属性,可以让事情按预期工作。

TaskbarIcon tbIcon = (TaskbarIcon)FindResource("MyNotifyIcon");
tbIcon.NoLeftClickDelay = true;