当点击通知图标时,我该如何抑制BalloonTipClicked事件?

3
在我的表单中,我有一个通知图标(notifyIcon)。我已经绑定了对通知图标的ClickBalloonTipClicked 事件处理程序。现在,如果气泡正在显示,并且我点击通知图标,则会先触发 BalloonTipClicked,然后才是Click。我不确定这是否是期望的行为,但我只想触发Click,我该如何实现?
private void notifyIcon1_BalloonTipClicked(object sender, EventArgs e)
{
    Console.WriteLine("notifyIcon balloontip click"); // This fires first
}

private void notifyIcon1_Click(object sender, EventArgs e)
{
    Console.WriteLine("notifyIcon click"); // This fires after balloontipclick
}

notifyIcon


@RezaAghaei 有趣.. 我需要指定关于我的开发设置的其他细节吗? - A1rPun
我看到了,这是Win10特定的错误。版本可能很重要,我的版本是1607。当我点击图标时,我会收到BalloonTipClicked事件,但不会收到Clicked事件。因此,答案中的建议不会起作用。没有什么可以解决这个问题,你只能将该错误发布到connect.microsoft.com上。带着一些运气,他们会将其传递给Windows组。 - Hans Passant
@HansPassant 感谢您的回复,在我的私人win10 VS2k15设置中,气球提示单击和单击确实会触发。我相信在工作中也会出现这种情况。它可能是版本特定的,我将在connect.microsoft.com上尝试一下。 - A1rPun
@RezaAghaei 我在github上创建了一个最小、完整和可验证的示例 - A1rPun
1
@A1rPun 我可以确认在WIN8.1上存在该问题。 - Reza Aghaei
1个回答

1

这不是最佳实践,但你可以添加一个布尔变量。在notifyicon.mousehover事件中将此变量设置为false。在baloontipclick上检查该变量是否为false,如果是,则退出子程序,否则将执行该子程序。


谢谢您的回答,我希望有更简洁的解决方案,但如果没有,我总是可以采用解决方法。 - A1rPun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接