MouseClick事件对NotifyIcon的反应缓慢

时间:2015-07-04 15:32:18

标签: c# .net events click notifyicon

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

我有这样的代码:

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

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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

  

请注意,LeftClickCommand会在短暂延迟后触发(与立即触发的DoubleClickCommand相反)。这是因为操作系统在第一次单击和第二次单击之间存在时间跨度,以便双击鼠标操作。 NotifyIcon非常智能,可以等待这段时间,以确保只有在用户未在该时间段内第二次点击时才会触发LeftClickCommand。

我试过了,这个延迟也存在于表格本身上。这就是这个事件的运作方式。