如何通过编程关闭BalloonTip?

时间:2011-03-15 16:22:01

标签: .net vb.net system-tray trayicon

我的应用程序中有一个托盘图标。当我在后台加载某些东西时,我正在显示气球提示20秒。但是,如果背景负荷提前完成,比如10秒钟,我想隐藏气球提示。目前隐藏气球提示的唯一方法是单击气球提示中的关闭图标。

    Public Tray As NotifyIcon
    Tray = New NotifyIcon

    Tray.BalloonTipIcon = ToolTipIcon.Info
    Tray.BalloonTipText = "Loading"
    Tray.BalloonTipTitle = "Please Wait"
    Tray.ShowBalloonTip(20 * 1000)

是否可以在达到指定时间之前以编程方式隐藏气球提示?

5 个答案:

答案 0 :(得分:5)

试试这个:

Tray.Visible = true;

更多信息here

希望有所帮助!

答案 1 :(得分:4)

当然有更好的方法可以做到这一点。 “请等待”最好使用进度条或沙漏鼠标光标进行反馈。通过在任务栏按钮中显示进度,您可以使用Windows API代码包在Win7 +上使用它。

Anyhoo,您可以通过显示另一个带有短暂超时或隐藏通知图标的气球来弹出气球。

答案 2 :(得分:1)

您可以随时隐藏气球提示(可见属性)。

请注意,托盘图标和气球由explorer.exe(“开始菜单栏”)拥有和控制,因此如果您没有正确清理它,它将保留在那里。你需要积极地告诉它消失。为气球设置计时器只是告诉探险者显示它的时间。您需要主动发送计数器消息才能隐藏它。

答案 3 :(得分:1)

我个人认为只是打电话

会更容易
Tray.Show(0);

应该强制它立即隐藏托盘气球而不隐藏托盘图标本身......

答案 4 :(得分:0)

至少在使用.Net Framework 4客户端配置文件的当前Windows 8.1上,
在保持System.Windows.Forms.NotifyIcon notifyIcon1可见的同时弹出BallonTip
想要背靠背:

    notifyIcon1.Visible = false;
    notifyIcon1.Visible = true;