VB.NET NotifyIcon.ShowBallootTip不总是显示

VB.NET NotifyIcon.ShowBallootTip不总是显示,vb.net,notifyicon,Vb.net,Notifyicon,我一直在开发一个应用程序,如果网络连接断开,应用程序的通知图标应该显示一个气球工具提示 重新建立网络连接时,此应用程序还将显示引出序号工具提示 重新建立网络连接时,引出序号工具提示将按预期显示,但是,当网络连接丢失时,引出序号工具提示将不显示 不起作用的部分如下所示: '如果以前的网络连接或ping是良好的,而现在不是,请显示它 If BadPing = 1 Then HeartbeatIcon.ShowBalloonTip(10000, "VPN Hea

我一直在开发一个应用程序,如果网络连接断开,应用程序的通知图标应该显示一个气球工具提示

重新建立网络连接时,此应用程序还将显示引出序号工具提示

重新建立网络连接时,引出序号工具提示将按预期显示,但是,当网络连接丢失时,引出序号工具提示将不显示

不起作用的部分如下所示:

'如果以前的网络连接或ping是良好的,而现在不是,请显示它

        If BadPing = 1 Then
            HeartbeatIcon.ShowBalloonTip(10000, "VPN Heartbeat", "Network Offline!", ToolTipIcon.Error)
        End If
        PingReplyText.Text += "Network Connection Offline!" + vbCrLf
        BadPing = BadPing + 1
因此,程序每10秒通过该“If”语句所在的计时器控件检查一次网络连接。如果我在BadPing=2时将“If”语句更改为fire,我似乎没事,气球工具提示显示出来,再少一点,它也不会这样做

出于测试目的,我注释掉了'If'语句并运行程序,气球工具提示每10秒显示一次,但只有在PingReplyText显示了两次“网络连接脱机!”之后


在这种情况下,我通过禁用Windows控制面板中的网络适配器来测试网络连接丢失。是否有我不知道的事情可能会导致气球工具提示在网络丢失的前10秒内不显示?

您的解释不太清楚,但在第一次循环后,Badding将超过1,我的意思是,此消息只显示一次

试着以不同的方式设置文本,因为我这里有相同的文本,它的功能就像一个符咒:

        HeartbeatIcon.BallonTipTitke = "Heartbeat"
        HeartbeatIcon.BallonTipText = "Network Online"
        HeartbeatIcon.ShowBallonTip(10000)

是的,气球工具提示只显示一次,这是我设计的。是的,在第一个循环后,Badding将超过1。我再次这样做是为了在声明坏连接之前强制程序检查两次。我遇到的问题是,如果我将其设置为只检查一次坏连接,出于某种原因,我不会得到工具提示。如果有帮助的话,加载程序时BadPing被初始化为零,然后在收到良好的ping后再次将其设置为零。问题可能发生在您的Visual Studio版本中-在30000行应用程序中,通过大量调用此控件,一切正常!因为我希望你确信你的应用程序的任何部分都不会禁用这个控件,你有哪个VS(还有哪个Service Pack)?我似乎已经解决了这个问题。我认为这与我的用户配置文件被重定向到我们的服务器有关,因为当我发布应用程序并将其安装在独立平板电脑上时,它工作得非常好。现在的问题是让它显示在同事的笔记本电脑上。该应用程序的发布版本可以在我的平板电脑和PC上运行,但不能在他的笔记本电脑上运行。仔细检查以确保他的通知已在Windows设置中打开。顺便说一下,这些都是Windows 10设备。该应用程序是在VS 2013 Express中创建的。您是否尝试在任何Windows 8中运行?问题可能与WIn 10有关。