10

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

    Public Tray As NotifyIcon
    Tray = New NotifyIcon

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

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

4

5 回答 5

6

试试这个:

Tray.Visible = true;

更多信息在这里

希望有所帮助!

于 2011-03-15T16:36:12.393 回答
4

当然有更好的方法来做到这一点。“请稍候”类型的反馈最好使用进度条或沙漏鼠标光标来完成。通过在任务栏按钮中显示进度,您可以使用 Windows API 代码包使其在 Win7+ 上更加出色。

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

于 2011-03-15T17:16:22.957 回答
1

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

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

于 2011-03-15T17:21:33.977 回答
1

我个人认为打电话会更容易

Tray.Show(0);

这应该迫使它立即隐藏托盘气球而不隐藏托盘图标本身......

于 2012-01-22T19:25:27.217 回答
1

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

    notifyIcon1.Visible = false;
    notifyIcon1.Visible = true;
于 2019-01-11T20:31:12.883 回答